public EntityBase CreateEntity(CONST_ENTITY_TYPE etype, uint roleId = 0) { EntityBase kEntity = null; kEntity = m_dicEntityCache.Get(etype, roleId); if (kEntity == null) { Func <EntityBase> fnCreator = null; m_dicEntityCreator.TryGetValue(etype, out fnCreator); if (fnCreator == null) { Debug.Log("没有注册此类:" + etype); return(null); } kEntity = fnCreator(); } else { m_dicEntityCache.Remove(etype, roleId); } kEntity.roleId = roleId; RealAddEntity(kEntity); //kEntity.Reset(); return(kEntity); }
private void RealAddEntity(EntityBase kEnt) { CONST_ENTITY_TYPE type = kEnt.type; uint roleId = kEnt.roleId; m_dicEntityUpdate.Add(type, roleId, kEnt); }
public EntityBase GetEntity(CONST_ENTITY_TYPE type, uint roleId) { return(m_dicEntityUpdate.Get(type, roleId)); }