using System; namespace ET { /// /// 每个XXConfigCategory单例的接口 /// public interface ILubanConfig { //Model中的所有配置初始化完毕后的调用 //Ref的初始化 void ResolveRef(); } public interface ILubanConfigSystem : ISystemType { //所有配置初始化完毕后的调用 //解决需要在Hotfix中初始化其他数据时使用 void LubanConfig(ILubanConfig data); } [EntitySystem] public abstract class LubanConfigSystem : SystemObject, ILubanConfigSystem where T : ILubanConfig { Type ISystemType.Type() { return typeof(T); } Type ISystemType.SystemType() { return typeof(ILubanConfigSystem); } void ILubanConfigSystem.LubanConfig(ILubanConfig data) { this.LubanConfig((T)data); } protected abstract void LubanConfig(T self); } }