Пример #1
0
 public List <Object> GetResObj(string name)
 {
     if (resObjs.ContainsKey(name))
     {
         AssetSingleObj temo = resObjs[name];
         return(temo.objs);
     }
     else
     {
         return(null);
     }
 }
Пример #2
0
 //释放单个资源
 public void ReleaseSingleObj(string name)
 {
     if (resObjs.ContainsKey(name))
     {
         AssetSingleObj tempobj = resObjs[name];
         tempobj.ReleaseObj();
     }
     else
     {
         Debug.Log("release object is not exit:" + name);
     }
 }
Пример #3
0
    public Object GetSingleResource(string bundleName, string resName)
    {
        //是否已经缓存了物体
        if (loadObj.ContainsKey(bundleName))
        {
            Debug.Log("0000");
            AssetObjs temres = loadObj[bundleName];

            List <Object> temobj = temres.GetResObj(resName);

            if (temobj != null)
            {
                return(temobj[0]);
            }
        }
        //表示已经加载过bundle
        if (loadHelper.ContainsKey(bundleName))
        {
            // Debug.Log("表示已经加载过bundle");

            IABRelastion loader = loadHelper[bundleName];

            Object         tempobj     = loader.GetSingleResource(resName);
            AssetSingleObj tempsigleOb = new AssetSingleObj(tempobj);
            //缓存里是否有这个包
            if (loadObj.ContainsKey(bundleName))
            {
                //  Debug.Log("1111");
                AssetObjs temRes = loadObj[bundleName];
                temRes.AddResobj(resName, tempsigleOb);
            }
            else
            {
                // Debug.Log("2222");
                //没有加载过这个包
                AssetObjs temRes = new AssetObjs(resName, tempsigleOb);
                loadObj.Add(bundleName, temRes);
            }
            return(tempobj);
        }
        else
        {
            Debug.Log("null");
            return(null);
        }
    }
Пример #4
0
    public Object[] GetMutiResource(string bundleName, string resName)
    {
        //是否已经缓存
        if (loadObj.ContainsKey(bundleName))
        {
            AssetObjs temres = loadObj[bundleName];

            List <Object> temobj = temres.GetResObj(resName);

            if (temobj != null)
            {
                return(temobj.ToArray());
            }
        }
        //表示已经加载过bundle
        if (loadHelper.ContainsKey(bundleName))
        {
            IABRelastion loader = loadHelper[bundleName];

            Object[]       tempobj     = loader.GetMutiResources(resName);
            AssetSingleObj tempsigleOb = new AssetSingleObj(tempobj);
            //缓存里是否有这个包
            if (loadObj.ContainsKey(bundleName))
            {
                AssetObjs temRes = loadObj[bundleName];
                temRes.AddResobj(resName, tempsigleOb);
            }
            else
            {
                //没有加载过这个包
                AssetObjs temRes = new AssetObjs(resName, tempsigleOb);
                loadObj.Add(bundleName, temRes);
            }
            return(tempobj);
        }
        else
        {
            return(null);
        }
    }
Пример #5
0
 public void AddResobj(string name, AssetSingleObj temp)
 {
     resObjs.Add(name, temp);
 }
Пример #6
0
 public AssetObjs(string name, AssetSingleObj tempobj)
 {
     resObjs = new Dictionary <string, AssetSingleObj>();
     resObjs.Add(name, tempobj);
 }