private int m_nMaxSize = 128; //池子中每种类型的GameObject可容纳的子队列大小 // 从Bundle加载一个可复用的ITEM public void CreateUIFromBundle(UIPathData uiData, string objName, CreatePoolObjDelegate delFun, object param1, object param2) { GameObject obj = ReUseElement(objName); if (null == obj) { if (m_nMaxGameObjectType > 0 && m_ActivePool.Count == m_nMaxGameObjectType) { if (null != delFun) { delFun(null, param1, param2); } return; } UIManager.LoadItem(uiData, OnLoadBundleItem, new LoadBundleParam(delFun, param1, param2, uiData, objName)); } else { if (null != delFun) { delFun(obj, param1, param2); } } }
public LoadBundleParam(CreatePoolObjDelegate delFun, object param1, object param2, UIPathData uiData, string objName) { m_delFun = delFun; m_userParam1 = param1; m_userParam2 = param2; m_uiData = uiData; m_objName = objName; }