ILubanConfig.cs 1006 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. namespace ET
  3. {
  4. /// <summary>
  5. /// 每个XXConfigCategory单例的接口
  6. /// </summary>
  7. public interface ILubanConfig
  8. {
  9. //Model中的所有配置初始化完毕后的调用
  10. //Ref的初始化
  11. void ResolveRef();
  12. }
  13. public interface ILubanConfigSystem : ISystemType
  14. {
  15. //所有配置初始化完毕后的调用
  16. //解决需要在Hotfix中初始化其他数据时使用
  17. void LubanConfig(ILubanConfig data);
  18. }
  19. [EntitySystem]
  20. public abstract class LubanConfigSystem<T> : SystemObject, ILubanConfigSystem where T : ILubanConfig
  21. {
  22. Type ISystemType.Type()
  23. {
  24. return typeof(T);
  25. }
  26. Type ISystemType.SystemType()
  27. {
  28. return typeof(ILubanConfigSystem);
  29. }
  30. void ILubanConfigSystem.LubanConfig(ILubanConfig data)
  31. {
  32. this.LubanConfig((T)data);
  33. }
  34. protected abstract void LubanConfig(T self);
  35. }
  36. }