/// <summary> /// 重置Entity; /// </summary> public void Reset() { DeAttachEntityObject(); EventUnsubscribe(); OnReset(); _id = 0; _enable = false; _entityInitHandler = null; _entityLoadHandler = null; }
/// <summary> /// 创建Entity;同步/异步完善; /// </summary> /// <typeparam name="T"></typeparam> /// <param name="go"></param> /// <param name="initHandler"></param> /// <returns></returns> public T CreateEntity <T>(GameObject go, ulong uid, string name, EntityInitEventHandler initHandler) where T : BaseEntity, new() { T _Entity = PoolMgr.Instance.Get <T>();//get from pool; if (AddEntity(_Entity)) { _Entity.EntityInitHandler = initHandler; _Entity.Create(go, uid, name); return(_Entity); } else { LogUtil.LogUtility.PrintError("[EntityMgr]CreateEntity " + typeof(T).ToString() + " error!"); return(null); } }