本文主要是介绍ET框架学习——ConfigComponent组件和ACategoryT类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
ACategory<T>类
ACategory<T>抽象类继承自ACategory类,T实现接口IConfig
public abstract class ACategory : Object
{public abstract Type ConfigType { get; }public abstract IConfig GetOne();public abstract IConfig[] GetAll();public abstract IConfig TryGet(int type);
}
ACategory类内部维护了一些变量,IConfig类是配置的基类,内部只有一个属性Id。
ACategory<T>类内部维护了一个字典Dictionary<long, IConfig> dict。
重写方法BeginInit来着Object类,根据T类型的名字获取对应的配置内容。遍历内容,利用Json内部API进行转换。然后添加到字典中去,键是T类型的Id值,值就是T类型的对象。
重写方法ConfigType返回T的类型。另外还有3个Get方法,对字典dict进行操作。
-
ConfigComponent组件
ConfigComponent组件会扫描所有的有ConfigAttribute标签的配置,加载进来。接通了Awake和Load事件。内部有一个字典Dictionary<Type, ACategory> allConfig用于存储
Load方法中,获取到ConfigAttribute特性修饰的类的实例,该类必须要继承ACategory抽象类,执行BeginInit和EndInit方法。最后将获取到的实例添加到字典中去,键是实例的类型。
后面是一些对于字典进行操作的Get方法。
这篇关于ET框架学习——ConfigComponent组件和ACategoryT类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!