Beispiel #1
0
 public override void Release()
 {
     base.Release();
     m_key.Release();
     m_scripts.Release();
     m_cleanType = ResourceCleanType.None;
 }
Beispiel #2
0
    public UNResourceObject Load(string resName, ResourceType resType, ResourceCleanType resCleanType = ResourceCleanType.Count)
    {
        var resObj = GetFromObjects(resName, resType, resCleanType);

        if (resObj != null)
        {
            return(resObj);
        }
        // 取更新文件 用assetsbundle
        var path = GetPath_Update(resType);

        if (resObj != null)
        {
            return(resObj);
        }
        // 取非更新文件 用resource.load
        path = GetPath(resType);
        var obj = Resources.Load(path);
        var ins = Object.Instantiate(obj);

        obj    = null;
        resObj = UNResourceObject.New(ins, resName, resType, resCleanType);
        AddToObjects(resObj);
        return(resObj);
    }
Beispiel #3
0
 private UNResourceObject GetFromObjects(string resName, ResourceType resType, ResourceCleanType resCleanType = ResourceCleanType.Count)
 {
     for (int i = 0; i < m_objs.Count; ++i)
     {
         var key = m_objs.GetKey(i);
         if (key.m_type != resType || key.m_name != resName)
         {
             continue;
         }
         var value = m_objs[key];
         for (int j = 0; j < value.Count; ++i)
         {
             var obj = value[j];
             if (obj.m_state == UNObjectStateType.Alive)
             {
                 continue;
             }
             obj.Init();
             return(obj);
         }
     }
     return(null);
 }
Beispiel #4
0
    public static UNResourceObject New(Object go, string name, ResourceType type = ResourceType.None, ResourceCleanType cType = ResourceCleanType.Immediate)
    {
        var obj = ObjectManager.Instance.CreateObject <UNResourceObject>();

        obj.m_obj       = go;
        obj.m_key       = UNResourceObjectKey.New(name, type);
        obj.m_cleanType = cType;
        return(obj);
    }
Beispiel #5
0
    private void AddToObjects(Object obj, string resName, ResourceType resType, ResourceCleanType resCleanType = ResourceCleanType.Count)
    {
        var robj = UNResourceObject.New(obj, resName, resType, resCleanType);

        AddToObjects(robj);
    }