public virtual void initialize(int _uuid, EntityCreateData createData) { OLib.Console.assert(0 < _uuid, "invalid uuid {0}", _uuid); m_uuid = _uuid; m_tableId = createData.tableId; m_transform = transform; position = createData.position; }
public virtual E create <E>(EntityCreateData createData) where E : Entity, new() { OLib.Console.assert(null != createData, "createData is null"); E t = null; try { GameObject obj = instiateObject(createData.parent, createData.assetBundleName, createData.fileName); if (null == obj) { return(null); } t = obj.GetComponent <E>(); if (null == t) { OLib.Console.warning(string.Format("Failed create entity, Not exist {0} component", createData.fileName)); return(null); } int udid = m_uuidCreator.make(); if (m_entities.ContainsKey(udid)) { OLib.Console.warning(string.Format("Failed create entity, entity id {0} is already exists", udid)); return(null); } m_entities.Add(udid, t); t.initialize(udid, createData); } catch (Exception e) { OLib.Console.exception(e); if (null != t) { t.Dispose(); t = null; } } return(t); }