コード例 #1
0
 //释放特定包的特定资源
 public void DisposeResObj(string bundlename, string resname)
 {
     if (loadObj.ContainsKey(bundlename))
     {
         AssetObjs temobj = loadObj[bundlename];
         temobj.ReleaseSingleObj(resname);
     }
 }
コード例 #2
0
 //释放特定整个包的资源
 public void DisposeBundleResObj(string bundlename)
 {
     if (loadObj.ContainsKey(bundlename))
     {
         AssetObjs temobj = loadObj[bundlename];
         temobj.ReleaseAllResObj();
     }
     Resources.UnloadUnusedAssets();
 }
コード例 #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);
        }
    }