ET框架學習——ConfigComponent組件和ACategory類

  • 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抽象類,執行BeginInitEndInit方法。最後將獲取到的實例添加到字典中去,鍵是實例的類型。

     後面是一些對於字典進行操作的Get方法。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章