Exemplo n.º 1
0
        private IEnumerator PreloadAllAssetBundleAsync <T>(string assetBundleName, string assetName) where T : UnityEngine.Object
        {
            if (InCache <T>(assetBundleName, assetName))
            {
                yield break;
            }

            var startFrameCount = Time.frameCount;

            AssetBundleLoadAllAssetRequest <T> request = AssetBundleManager.Instance.LoadAllAssetAsync <T>(assetBundleName, assetName);

            if (null == request)
            {
                yield break;
            }

            yield return(StartCoroutine(request));

            var assets = request.GetAsset();

            var res = new LoadedResource(assets);

            if (null == res.m_resources || res.m_resources.Length == 0)
            {
                yield break;
            }

            m_loadedResources[GetCacheKey <T>(assetBundleName, assetName)] = res;

            TEDDebug.LogFormat("[ResourceSystem] - Loading AssetBundle '{0}' has done from frame {1} to frame {2}.", assetName, startFrameCount, Time.frameCount);
        }
Exemplo n.º 2
0
        private IEnumerator PreloadAllAssetBundleAsync <T>(string cacheKey, string assetBundleName, string assetName) where T : UnityEngine.Object
        {
            int startFrameCount = Time.frameCount;

            AssetBundleLoadAllAssetRequest <T> request = AssetBundleManager.Instance.LoadAllAssetAsync <T>(assetBundleName, assetName);

            if (null == request)
            {
                yield break;
            }

            yield return(request);

            T[] assets = request.GetAsset();
            if (null == assets || assets.Length == 0)
            {
                yield break;
            }

            LoadedResource res = new LoadedResource(assets);

            m_loadedResources[cacheKey] = res;

            JSLDebug.LogFormat(LOG_LOADALL_ASSET_SUCCEED, assetName, startFrameCount, Time.frameCount);
        }