コード例 #1
0
        public override void CreatePrefab(string relative, Action <GameObject> callback)
        {
            string assetPath = RelativePath2AssetPath(relative);
            string abName    = ResHelper.GetABName(assetPath);

            abMgr.LoadPrefab(abName, assetPath, callback);
        }
コード例 #2
0
        public override void UnloadFairyUIPackage(string packageName)
        {
            UIPackage.RemovePackage(packageName);
            string abName = ResHelper.GetABName(packageName);

            abMgr.UnloadABProxy(abName);
        }
コード例 #3
0
        public override void LoadAsset(string relative, Action <UnityEngine.Object> callback)
        {
            string assetPath = RelativePath2AssetPath(relative);
            string abName    = ResHelper.GetABName(assetPath);

            abMgr.LoadAsset(abName, assetPath, callback);
        }
コード例 #4
0
        public override bool DestroyPrefab(string relative, GameObject go)
        {
            string assetPath = RelativePath2AssetPath(relative);
            string abName    = ResHelper.GetABName(assetPath);

            abMgr.UnloadPrefab(abName, go);
            return(true);
        }
コード例 #5
0
        public override bool UnloadAsset(string relative, UnityEngine.Object uo)
        {
            string assetPath = RelativePath2AssetPath(relative);
            string abName    = ResHelper.GetABName(assetPath);

            abMgr.UnloadAsset(abName, uo);
            return(true);
        }
コード例 #6
0
ファイル: ResBuilder.cs プロジェクト: hbszqf/UnityFrameWork
        private void MarkABAsset(string assetPath, System.Func <string, string> renamer)
        {
            string assetPath2 = assetPath;

            if (renamer != null)
            {
                assetPath2 = renamer(assetPath2);
            }
            SetCacheABName(assetPath, ResHelper.GetABName(assetPath2));
        }
コード例 #7
0
ファイル: SceneMgr.cs プロジェクト: ElmerNing/UnityFramework
        IEnumerator PrepareLoad(string sceneName_pre, string sceneName)
        {
#if UNITY_EDITOR && !AB_MODE
#else
            var resMgr = ResMgr.inst;

            //清除ab
            if (sceneName_pre != null && sceneName_pre != "" && sceneName_pre != EMPTY_SCENE)
            {
                string  abName_pre = ResHelper.GetABName(sceneName);
                ABProxy abProxy    = resMgr.GetABProxy(abName_pre);
                if (abProxy != null)
                {
                    //清除ab
                    abProxy.isResident = false;
                }
            }

            //加载ab
            if (sceneName != null && sceneName != "" && sceneName != EMPTY_SCENE)
            {
                string abName   = ResHelper.GetABName(sceneName);
                bool   abfinish = false;
                resMgr.LoadABProxy(abName, (abProxy) => {
                    abProxy.isResident = true;
                    abfinish           = true;
                });

                while (true)
                {
                    if (abfinish)
                    {
                        break;
                    }
                    yield return(null);
                }
            }

            //清理资源
            bool finish = false;
            ResMgr.inst.UnloadUnused(() => {
                finish = true;
            });
            while (true)
            {
                if (finish == true)
                {
                    break;
                }
                yield return(null);
            }
#endif
            yield break;
        }
コード例 #8
0
        public override void LoadFairyUIPackage(string packageName, Action <UIPackage> callback)
        {
            string abName = ResHelper.GetABName(packageName);

            abMgr.LoadABProxy(abName, abProxy => {
                if (abProxy.ab == null)
                {
                    Debug.LogErrorFormat("LoadFairyUIPackage失败:{0}", packageName);
                    callback(null);
                }
                else
                {
                    UIPackage uiPackage = UIPackage.AddPackage(abProxy.ab, false);
                    abProxy.isResident  = true;
                    //回调
                    callback(uiPackage);
                }
            });
        }