public override void LoadScene() { SyncResourceManager.LoadSceneExternal(((MapConfig)ETModel.Game.Scene.GetComponent <ConfigComponent>().Get(typeof(MapConfig), mSceneId)).ResourcesID.ToString(), (object T1, object T2) => { this.InternalLoadSceneCompleted(); }); }
public override void LoadScene() { SyncResourceManager.UnityLoadScene("Scene", (object T1, object T2) => { this.InternalLoadSceneCompleted(); }); }
void Update() { mResourceManager.Update(); mGameTimerManager.Execute(); AsyncResourceManager.OnUpdate(); SyncResourceManager.OnUpdate(); }
public async void SetExternal(string path, string file, CallBackDelegate <object, object> mCall, GetDependBundlesFuncDelegate getExternalDependcesFunc) { string assetName = path + file; string[] dependencies = getExternalDependcesFunc(assetName); if (this.mAssetsLoaderAsyncDic.ContainsKey("external/" + assetName)) { Debug.Log("await"); await new WaitUntil(() => mAssetsLoaderAsyncDic.ContainsKey("external/" + assetName) == false && this.resourceCache.ContainsKey("external/" + assetName)); } if (this.resourceCache.ContainsKey("external/" + assetName)) { // Debug.Log(("external/" + assetName)); GameObject obj = GameObject.Instantiate((GameObject)this.resourceCache["external/" + assetName]); this.bundles["external/" + assetName].AddRefObj(obj); // Debug.Log("AddRef" + "external/" + assetName + "Num" + this.bundles["external/" + assetName].RefCount); foreach (var v in dependencies) { if (v != assetName) { if (!SyncResourceManager.CheckSyncAssetManagerLoaded("external/" + v)) { this.bundles["external/" + v].AddRefObj(obj); // Debug.Log("AddRef" + "external/" + v + "Num" + this.bundles["external/" + v].RefCount); } } } mCall(obj, file); // mLua.Call(obj, file); } else { AssetsLoaderAsync assetsLoaderAsync = new AssetsLoaderAsync(); assetsLoaderAsync.SetBundle(this.bundles["external/" + assetName].AssetBundle, "external/" + assetName); mAssetsLoaderAsync.Add(assetsLoaderAsync); mAssetsLoaderAsyncDic["external/" + assetName] = assetsLoaderAsync; GameObject temp = (GameObject)await assetsLoaderAsync.LoadAssetAsync(file); GameObject obj = GameObject.Instantiate(temp); this.bundles["external/" + assetName].AddRefObj(obj); // Debug.Log("AddRef" + "external/" + assetName + "Num" + this.bundles["external/" + assetName].RefCount); foreach (var v in dependencies) { if (v != assetName) { if (!SyncResourceManager.CheckSyncAssetManagerLoaded("external/" + v)) { this.bundles["external/" + v].AddRefObj(obj); // Debug.Log("AddRef" + "external/" + v + "Num" + this.bundles["external/" + v].RefCount); } } } this.bundles["external/" + assetName].AssetBundle.Unload(false); this.resourceCache["external/" + assetName] = temp; mCall(obj, file); //mLua.Call(obj,file); } }
public void EnterBattle() { GameTimerManager.Instance.ClearOnChangeScene(); UIManager.Instance.DisposeAllLayers(false); //TODO PoolManagerDispose; AsyncResourceManager.UnloadBundles(); SyncResourceManager.UnloadBundles(); Resources.UnloadUnusedAssets(); }
public void ChangeScene(bool reLogin) { GameTimerManager.Instance.ClearOnChangeScene(); UIManager.Instance.DisposeAllLayers(reLogin); //TODO PoolManagerDispose; AsyncResourceManager.UnloadBundles(); SyncResourceManager.UnloadBundles(); Resources.UnloadUnusedAssets(); }
async Task LoadInit() { await AsyncResourceManager.Init(); await SyncResourceManager.Init(new CallBackDelegate(() => { UIManager.Instance.Init(); } )); SceneManager.Instance.EnterSceneById(0); }
public void OnLoginEnterMainScenePreload(Action callBack) { UIManager.Instance.PreloadUI(ViewEnum.MainInterfaceView); SyncResourceManager.SetLoadAllFinishCallBack((object T1, object T2) => { callBack(); EventDispatcher.Instance.Dispatch <int, ToggleUIType, object>(EventConstant.TOGGLE_UI_WITH_PARAM, ViewEnum.LoginView, ToggleUIType.toggleFalse, new object[] { //ArenaModel.Instance.mSelfInfo, ArenaModel.Instance.mEnemyInfo, ViewEnum.LoginView }); } ); }
public async void InternalLoadExternalAssetAsync(string path, string file, CallBackDelegate <object, object> callBack, DelegateLoadExternalMehod method, GetPathFuncDelegate getExternalPathFunc, GetDependBundlesFuncDelegate getExternalDependcesFunc) { string assetBundleName = path + file; string assetBundlePath = getExternalPathFunc(assetBundleName); string[] dependencies = getExternalDependcesFunc(assetBundleName); if (SyncResourceManager.CheckSyncAssetManagerLoaded("external/" + assetBundleName)) { // Debug.Log(assetBundleName); SyncResourceManager.LoadObjectExternal(path, file, callBack); return; } if (taskList.Contains("external/" + assetBundleName)) { await new WaitUntil(() => !this.taskList.Contains("external/" + assetBundleName)); } taskList.Add("external/" + assetBundleName); if (!this.bundles.ContainsKey("external/" + assetBundleName) && !this.resourceCache.ContainsKey("external/" + assetBundleName)) { foreach (string dependency in dependencies) { if (string.IsNullOrEmpty(dependency)) { continue; } if (!SyncResourceManager.CheckSyncAssetManagerLoaded("external/" + dependency)) { if (!TestTaskList.Contains("external/" + dependency) && !this.bundles.ContainsKey("external/" + dependency)) { await this.MyLoadOneBundleAsync("external/" + dependency, path); } else if (TestTaskList.Contains("external/" + dependency)) { await new WaitUntil(() => this.bundles.ContainsKey("external/" + dependency)); } } } } foreach (string dependency in dependencies) { if (string.IsNullOrEmpty(dependency)) { continue; } if (!SyncResourceManager.CheckSyncAssetManagerLoaded("external/" + dependency)) { await new WaitUntil(() => this.bundles.ContainsKey("external/" + dependency)); } } method(path, file, callBack, getExternalDependcesFunc); taskList.Remove("external/" + assetBundleName); }
//TODO UseSyncLoaderManagerLoad public void LoadView(string path, string viewName, Action <GameObject> callBack) { if (ifLoadBundle) { SyncResourceManager.LoadUI(path, viewName, (T1, T2) => { callBack((GameObject)T1); }); } else { ResourceManager.LoadPrefab(path, viewName, (T1, T2) => { callBack((GameObject)T1); }); } }