예제 #1
0
        public static void LoadAsyncFromWWW(string strKey, PostProcPerItem callback, object param, string bundleStackName)
        {
            string  key     = strKey.ToLower();
            WWWItem wWWItem = Holder.TryGetOrCreateBundle(key, bundleStackName);

            wWWItem.SetItemType(ItemType.TEXTURE2D);
            ResourceCache.WWWDownloader wWWDownloader = ObjectPoolManager.Acquire <ResourceCache.WWWDownloader>(callback);
            wWWDownloader.SetParam(param);
            wWWItem.SetCallback(new PostProcPerItem(wWWDownloader.OnCompleteDonwload), wWWDownloader);
            TsImmortal.bundleService.RequestDownloadCoroutine(wWWItem, DownGroup.RUNTIME, true);
        }
예제 #2
0
            public void OnCompleteDonwload(WWWItem wItem, object wwwdownload)
            {
                object mainAsset = wItem.mainAsset;

                if (mainAsset == null)
                {
                    TsLog.LogWarning("WWW.mainAsset casting error. {0}", new object[]
                    {
                        wItem.assetPath
                    });
                }
                else
                {
                    ResourceCache.LifeSaver value = new ResourceCache.LifeSaver(mainAsset);
                    ResourceCache.WWWDownloader.ms_refCacheDic.Add(wItem.assetPath, value);
                    this.callback(wItem, this.param);
                }
                ResourceCache.WWWDownloader tobj = wwwdownload as ResourceCache.WWWDownloader;
                ObjectPoolManager.Release <ResourceCache.WWWDownloader>(tobj);
            }