private PoolCollector() { s_ModelPool = new ModelPool(); s_ShaderPool = new ShaderPool(); s_RenderTargetPool = new RenderTargetPool(); s_TexturePool = new TexturePool(); s_AnimationPool = new AnimationPool(); }
private void Start() { m_NewModelDic = new Dictionary <string, ModelInfo>(); m_SensorParent = new Dictionary <int, Transform>(); m_PoolName = "ModelPool"; m_Offset = new Vector3(0, 10, 0); m_NewModelParent = new GameObject("NewModelPoolParent").transform; MessageManager.Instance.AddMessageEventListener(m_UpdateSelectID, UpdateSelsectObject); MessageManager.Instance.AddMessageEventListener(m_AddNewModel, AddANewModel); MessageManager.Instance.AddMessageEventListener(m_SavaAModelData, SaveModeolInfo); MessageManager.Instance.AddMessageEventListener(m_LoadConfigObject, LoadConfigObject); MessageManager.Instance.AddMessageEventListener(m_DeleteAModel, DeleteModel); MessageManager.Instance.AddMessageEventListener(m_SetSensorActive, SetSensorActive); SGGamePoolManager.Instance.PushControl <GameObject>(new ModelPool(m_PoolName), true); m_ModelPool = SGGamePoolManager.Instance.GetPoolControl <GameObject>(m_PoolName) as ModelPool; }
public static BaseAliasModel Create(BaseDevice device, String identifier, BaseTexture texture, Type modelType, Type descType, aliashdr_t aliasHeader) { if (ModelPool.ContainsKey(identifier)) { return(( BaseAliasModel )ModelPool[identifier]); } var desc = ( BaseAliasModelDesc )Activator.CreateInstance(descType); desc.Name = identifier; desc.Texture = texture; desc.AliasHeader = aliasHeader; var model = ( BaseAliasModel )Activator.CreateInstance(modelType, device, desc); model.Initialise(); return(model); }
public static BasePool create(string resName, string resPath, E_PoolMode mode, E_PoolType pType, float time) { BasePool p = null; switch (pType) { case E_PoolType.UICache: p = new UICachePool(resName, resPath, mode, pType, time); break; case E_PoolType.Atlas: p = new AtlasPool(resName, resPath, mode, pType, time); break; case E_PoolType.Model: p = new ModelPool(resName, resPath, mode, pType, time); break; default: p = new BasePool(resName, resPath, mode, pType, time); break; } return(p); }
void FreePool(ModelPool p) { p.OnReset(); pool.Add(p); }