Example #1
0
 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));
     }
 }
Example #2
0
    public SceneObj CheckIsInActive(string sUid)
    {
        SceneObj obj;

        if (InActiveObjDic.TryGetValue(sUid, out obj))
        {
            return(obj);
        }
        return(null);
    }
Example #3
0
    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);
    }
Example #4
0
    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);
    }