public override void CreatePrefab(string relative, Action <GameObject> callback) { string assetPath = RelativePath2AssetPath(relative); string abName = ResHelper.GetABName(assetPath); abMgr.LoadPrefab(abName, assetPath, callback); }
public override void UnloadFairyUIPackage(string packageName) { UIPackage.RemovePackage(packageName); string abName = ResHelper.GetABName(packageName); abMgr.UnloadABProxy(abName); }
public override void LoadAsset(string relative, Action <UnityEngine.Object> callback) { string assetPath = RelativePath2AssetPath(relative); string abName = ResHelper.GetABName(assetPath); abMgr.LoadAsset(abName, assetPath, callback); }
public override bool DestroyPrefab(string relative, GameObject go) { string assetPath = RelativePath2AssetPath(relative); string abName = ResHelper.GetABName(assetPath); abMgr.UnloadPrefab(abName, go); return(true); }
public override bool UnloadAsset(string relative, UnityEngine.Object uo) { string assetPath = RelativePath2AssetPath(relative); string abName = ResHelper.GetABName(assetPath); abMgr.UnloadAsset(abName, uo); return(true); }
private void MarkABAsset(string assetPath, System.Func <string, string> renamer) { string assetPath2 = assetPath; if (renamer != null) { assetPath2 = renamer(assetPath2); } SetCacheABName(assetPath, ResHelper.GetABName(assetPath2)); }
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; }
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); } }); }