public static void LoadScene(string scene) { if (scene == null || scene == "") { return; } //prev clean if (loadStatus != LoadSceneStatus.NONE) { return; } next = scene; loadStatus = LoadSceneStatus.BEGIN; System.GC.Collect(); if (!first) { UIFrame.SceneLoadProcessAtlases(); sceneManager.xLoadScene("1"); } else { first = false; sceneManager.NextLoadingScene(); } }
private void OnSceneWasLoaded() { if (!alive) { return; } if (loadStatus == LoadSceneStatus.END) { { loadStatus = LoadSceneStatus.NONE; sceneLoading = false; LuaContext.RefreshDelegateMap(); #if LUASCRIPT if (luaLoadOverFunc == null) { luaLoadOverFunc = LuaManager.GetFunction("SceneManager.ListenLoadOver"); } if (luaLoadOverFunc != null) { LuaManager.CallFunc_VX(luaLoadOverFunc, next); } #endif } } else if (loadStatus == LoadSceneStatus.BEGIN) { if (!sceneLoading) { sceneLoading = true; if (next != null) { Load(); } } } ClearSceneAsset(); Resources.UnloadUnusedAssets(); System.GC.Collect(); }
private void EndLoad(Object ab, object obj) { if (!alive) { return; } if (!(ab is AssetBundle)) { return; } AssetBundle asset = ab as AssetBundle; sceneAsset.Add(asset); c_scene.Add(next); loadStatus = LoadSceneStatus.END; DirectlyLoadScene(); }