Exemplo n.º 1
0
 void ReleaseNewResBinData()
 {
     if (resBinData != null)
     {
         resBinData.UnInitialize();
     }
     resBinData = null;
 }
Exemplo n.º 2
0
        void initAsset()
        {
            preloadResult = null;
            preloadResult = new PreloadResult();

            GameKernel.CreateForInitData();
            IResourceMgr resourceMgr = GameKernel.Get <IResourceMgr>();
            ResBinData   iResBinData = NewResBinDataForPreLoad();

            //预加载资源,不需要提前获取mainAsset
            List <string> residentGoList        = iResBinData.GetImmortalAssetList(1);
            List <string> residentACList        = iResBinData.GetImmortalAssetList(3);
            List <string> residentTexture2DList = iResBinData.GetImmortalAssetList(5);
            List <string> residentAudioClipList = iResBinData.GetImmortalAssetList(7);
            List <string> residentAnimClipList  = iResBinData.GetImmortalAssetList(9);

            //预加载资源,需要提前获取mainAsset
            List <string> residentPreloadGoList        = iResBinData.GetImmortalAssetList(2);
            List <string> residentPreloadACList        = iResBinData.GetImmortalAssetList(4);
            List <string> residentPreloadTexture2DList = iResBinData.GetImmortalAssetList(6);
            List <string> residentPreloadAudioClipList = iResBinData.GetImmortalAssetList(8);
            List <string> residentPreloadAnimClipList  = iResBinData.GetImmortalAssetList(10);


            if (residentGoList != null && residentGoList.Count > 0)
            {
                this.preloadResult.TotalCount += residentGoList.Count;
            }
            if (residentPreloadGoList != null && residentPreloadGoList.Count > 0)
            {
                this.preloadResult.TotalCount += residentPreloadGoList.Count;
            }
            if (residentACList != null && residentACList.Count > 0)
            {
                this.preloadResult.TotalCount += residentACList.Count;
            }
            if (residentPreloadACList != null && residentPreloadACList.Count > 0)
            {
                this.preloadResult.TotalCount += residentPreloadACList.Count;
            }
            if (residentTexture2DList != null && residentTexture2DList.Count > 0)
            {
                this.preloadResult.TotalCount += residentTexture2DList.Count;
            }
            if (residentPreloadTexture2DList != null && residentPreloadTexture2DList.Count > 0)
            {
                this.preloadResult.TotalCount += residentPreloadTexture2DList.Count;
            }
            if (residentAudioClipList != null && residentAudioClipList.Count > 0)
            {
                this.preloadResult.TotalCount += residentAudioClipList.Count;
            }
            if (residentPreloadAudioClipList != null && residentPreloadAudioClipList.Count > 0)
            {
                this.preloadResult.TotalCount += residentPreloadAudioClipList.Count;
            }
            if (residentAnimClipList != null && residentAnimClipList.Count > 0)
            {
                this.preloadResult.TotalCount += residentAnimClipList.Count;
            }
            if (residentPreloadAnimClipList != null && residentPreloadAnimClipList.Count > 0)
            {
                this.preloadResult.TotalCount += residentPreloadAnimClipList.Count;
            }

            if (residentGoList != null)
            {
                for (int i = 0; i < residentGoList.Count; i++)
                {
                    abp = new AssetBundleParams(residentGoList[i], typeof(GameObject));
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }
            if (residentPreloadGoList != null)
            {
                for (int i = 0; i < residentPreloadGoList.Count; i++)
                {
                    abp = new AssetBundleParams(residentPreloadGoList[i], typeof(GameObject));
                    abp.IsPreloadMainAsset = true;
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }
            if (residentACList != null)
            {
                for (int i = 0; i < residentACList.Count; i++)
                {
                    abp = new AssetBundleParams(residentACList[i], typeof(RuntimeAnimatorController));
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }
            if (residentPreloadACList != null)
            {
                for (int i = 0; i < residentPreloadACList.Count; i++)
                {
                    abp = new AssetBundleParams(residentPreloadACList[i], typeof(RuntimeAnimatorController));
                    abp.IsPreloadMainAsset = true;
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }
            if (residentTexture2DList != null)
            {
                for (int i = 0; i < residentTexture2DList.Count; i++)
                {
                    abp = new AssetBundleParams(residentTexture2DList[i], typeof(Texture2D));
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }
            if (residentPreloadTexture2DList != null)
            {
                for (int i = 0; i < residentPreloadTexture2DList.Count; i++)
                {
                    abp = new AssetBundleParams(residentPreloadTexture2DList[i], typeof(Texture2D));
                    abp.IsPreloadMainAsset = true;
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }
            if (residentAudioClipList != null)
            {
                for (int i = 0; i < residentAudioClipList.Count; i++)
                {
                    abp = new AssetBundleParams(residentAudioClipList[i], typeof(AudioClip));
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }
            if (residentPreloadAudioClipList != null)
            {
                for (int i = 0; i < residentPreloadAudioClipList.Count; i++)
                {
                    abp = new AssetBundleParams(residentPreloadAudioClipList[i], typeof(AudioClip));
                    abp.IsPreloadMainAsset = true;
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }
            if (residentAnimClipList != null)
            {
                for (int i = 0; i < residentAnimClipList.Count; i++)
                {
                    abp = new AssetBundleParams(residentAnimClipList[i], typeof(AnimationClip));
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }
            if (residentPreloadAnimClipList != null)
            {
                for (int i = 0; i < residentPreloadAnimClipList.Count; i++)
                {
                    abp = new AssetBundleParams(residentPreloadAnimClipList[i], typeof(AnimationClip));
                    abp.IsPreloadMainAsset = true;
                    resourceMgr.LoadResidentMemoryObjAsync(abp);
                }
            }

            ReleaseNewResBinData();
        }
Exemplo n.º 3
0
 ResBinData NewResBinDataForPreLoad()
 {
     resBinData = ResBinData.Instance;
     return(resBinData);
 }