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; } }