public static void Init() { if (m_Init) { return; } m_Init = true; var text = Resources.Load <TextAsset>(m_Path).text; var infos = text.Split('\n'); for (int i = 2; i < infos.Length; i++) { var info = infos[i]; if (info == "") { break; } var data = info.Split('\t'); PartIDConfig config = new PartIDConfig(); config.part = (string)Helper.ParseString(data[0], "string"); config.value = (int)Helper.ParseString(data[1], "int"); m_Dic[config.part] = config; } }
public void PutBaseObject(ref BaseObject _base) { _base.UnInit(); int key = PartIDConfig.Get(_base.GetType().ToString()).value; m_BaseObjectPoolDic[key].Put(_base); _base = null; }
public T GetBaseObject <T>(BaseObject _obj) where T : BaseObject, new() { T value = default(T); int key = PartIDConfig.Get(typeof(T).ToString()).value; value = m_BaseObjectPoolDic[key].Get() as T; value?.Init(_obj); return(value); }
private void InitBaseObjectPoolDic() { m_BaseObjectPoolDic = new Dictionary <int, BaseObjectPool>(); var keys = PartIDConfig.GetKeys(); foreach (var key in keys) { int id = PartIDConfig.Get(key).value; BaseObjectPool pool = new BaseObjectPool(id, key, GloblConfig.MAX_POOL_COUNT); m_BaseObjectPoolDic[id] = pool; } }
public static PartIDConfig Get(string id) { Init(); PartIDConfig value = null; if (m_Dic.ContainsKey(id)) { value = m_Dic[id]; } else { Debug.LogError(id + " 不存在"); } return(value); }