private IEnumerator IEDel() { while (true) { bool bDel = false; foreach (var pair in InActiveObjDic) { ResourcesObj resourceObj; if (ResourcesObjDic.TryGetValue(pair.Value.data.resPath, out resourceObj)) { resourceObj.DelIns(); if (resourceObj.CheckInsZero()) { bDel = true; resourceObj.obj = null; ResourcesObjDic.Remove(pair.Value.data.resPath); } } Destroy(pair.Value.obj); } InActiveObjDic.Clear(); if (bDel) { Resources.UnloadUnusedAssets(); } yield return(new WaitForSeconds(delTime)); } }
public SceneObj CheckIsInActive(string sUid) { SceneObj obj; if (InActiveObjDic.TryGetValue(sUid, out obj)) { return(obj); } return(null); }
public bool MoveToInActive(ObjData obj) { SceneObj sceneObj; if (ActiveObjDic.TryGetValue(obj.sUid, out sceneObj)) { sceneObj.obj.SetActive(false); InActiveObjDic.Add(obj.sUid, sceneObj); ActiveObjDic.Remove(obj.sUid); return(true); } return(false); }
private bool MoveToActive(ObjData obj) { SceneObj sceneObj; if (InActiveObjDic.TryGetValue(obj.sUid, out sceneObj)) { sceneObj.obj.SetActive(true); sceneObj.status = SceneObjStatus.New; ActiveObjDic.Add(obj.sUid, sceneObj); InActiveObjDic.Remove(obj.sUid); return(true); } return(false); }