public void LoadInstance(MFUIManager.MFUIID id,string path, string goName,bool preLoad) //加载资源并实例化 { if (m_dictResNameToObj.ContainsKey(path)) { MFUIGameObjectPoolUnit unit = new MFUIGameObjectPoolUnit(); unit.isFree = false; unit.poolUnit = (GameObject)(GameObject.Instantiate(m_dictResNameToObj[path])); unit.poolUnit.name = goName; if (preLoad) { unit.isFree = true; MFUIUtils.ShowGameObject(false, unit.poolUnit); } MFUIGameObjectPool.GetSingleton().m_listResPathToPoolUnit[path].Add(unit); MFUIGameObjectPool.GetSingleton().ResourceLoaded(goName); } else { AssetCacheMgr.GetUIResource(path, (obj) => { if (obj == null) { MFUIUtils.MFUIDebug(string.Concat(path, " Not Found ! ")); return; } if (m_dictResNameToObj.ContainsKey(path)) { MFUIUtils.MFUIDebug("Same Key in ResNameToObj Dict , Now Replace It"); } //m_dictResNameToObj.Add(path, obj); m_dictResNameToObj[path] = obj; if (!m_dictUIIDToObjList.ContainsKey(id)) { m_dictUIIDToObjList.Add(id, new List<Object>()); } if (!m_dictUIIDToObjList[id].Contains(obj)) { m_dictUIIDToObjList[id].Add(obj); } MFUIGameObjectPoolUnit unit = new MFUIGameObjectPoolUnit(); unit.isFree = false; unit.poolUnit = (GameObject)(GameObject.Instantiate(m_dictResNameToObj[path])); unit.poolUnit.name = goName; if (preLoad) { unit.isFree = true; MFUIUtils.ShowGameObject(false, unit.poolUnit); } MFUIGameObjectPool.GetSingleton().m_listResPathToPoolUnit[path].Add(unit); MFUIGameObjectPool.GetSingleton().ResourceLoaded(goName); }); //Object obj = Resources.Load(path); //if (obj == null) //{ // MFUIUtils.MFUIDebug(string.Concat(path, " Not Found ! ")); // return; //} //m_dictResNameToObj.Add(path, obj); //MFUIGameObjectPoolUnit unit = new MFUIGameObjectPoolUnit(); //unit.isFree = false; //unit.poolUnit = (GameObject)(GameObject.Instantiate(m_dictResNameToObj[path])); //unit.poolUnit.name = goName; //MFUIGameObjectPool.GetSingleton().m_listResPathToPoolUnit[path].Add(unit); //MFUIGameObjectPool.GetSingleton().ResourceLoaded(goName); } }
public void LoadInstance(MFUIManager.MFUIID id, string path, string goName, bool preLoad) //加载资源并实例化 { if (m_dictResNameToObj.ContainsKey(path)) { MFUIGameObjectPoolUnit unit = new MFUIGameObjectPoolUnit(); unit.isFree = false; unit.poolUnit = (GameObject)(GameObject.Instantiate(m_dictResNameToObj[path])); unit.poolUnit.name = goName; if (preLoad) { unit.isFree = true; MFUIUtils.ShowGameObject(false, unit.poolUnit); } MFUIGameObjectPool.GetSingleton().m_listResPathToPoolUnit[path].Add(unit); MFUIGameObjectPool.GetSingleton().ResourceLoaded(goName); } else { AssetCacheMgr.GetUIResource(path, (obj) => { if (obj == null) { MFUIUtils.MFUIDebug(string.Concat(path, " Not Found ! ")); return; } if (m_dictResNameToObj.ContainsKey(path)) { MFUIUtils.MFUIDebug("Same Key in ResNameToObj Dict , Now Replace It"); } //m_dictResNameToObj.Add(path, obj); m_dictResNameToObj[path] = obj; if (!m_dictUIIDToObjList.ContainsKey(id)) { m_dictUIIDToObjList.Add(id, new List <Object>()); } if (!m_dictUIIDToObjList[id].Contains(obj)) { m_dictUIIDToObjList[id].Add(obj); } MFUIGameObjectPoolUnit unit = new MFUIGameObjectPoolUnit(); unit.isFree = false; unit.poolUnit = (GameObject)(GameObject.Instantiate(m_dictResNameToObj[path])); unit.poolUnit.name = goName; if (preLoad) { unit.isFree = true; MFUIUtils.ShowGameObject(false, unit.poolUnit); } MFUIGameObjectPool.GetSingleton().m_listResPathToPoolUnit[path].Add(unit); MFUIGameObjectPool.GetSingleton().ResourceLoaded(goName); }); //Object obj = Resources.Load(path); //if (obj == null) //{ // MFUIUtils.MFUIDebug(string.Concat(path, " Not Found ! ")); // return; //} //m_dictResNameToObj.Add(path, obj); //MFUIGameObjectPoolUnit unit = new MFUIGameObjectPoolUnit(); //unit.isFree = false; //unit.poolUnit = (GameObject)(GameObject.Instantiate(m_dictResNameToObj[path])); //unit.poolUnit.name = goName; //MFUIGameObjectPool.GetSingleton().m_listResPathToPoolUnit[path].Add(unit); //MFUIGameObjectPool.GetSingleton().ResourceLoaded(goName); } }