private void Start() { if (dontDestroyOnLoad) { DontDestroyOnLoad(gameObject); } EditorInit(); Assets.updateAll = updateAll; Assets.downloadURL = downloadURL; Assets.verifyBy = verifyBy; Assets.searchPaths = searchPaths; Assets.patches4Init = patches4Init; Assets.Initialize(error => { if (!string.IsNullOrEmpty(error)) { Debug.LogError(error); return; } if (splash) { Assets.LoadSceneAsync(R.GetScene("Splash")); } else { Assets.LoadSceneAsync(R.GetScene(launchScene)); } }); }
private IEnumerator LoadGameScene() { OnMessage("正在初始化"); var init = Assets.Initialize(); yield return(init); if (string.IsNullOrEmpty(init.error)) { Assets.AddSearchPath("Assets/XAsset/Demo/Scenes"); init.Release(); OnProgress(0); OnMessage("加载游戏场景"); var scene = Assets.LoadSceneAsync(gameScene, false); while (!scene.isDone) { OnProgress(scene.progress); yield return(null); } } else { init.Release(); var mb = MessageBox.Show("提示", "初始化异常错误:" + init.error + "请联系技术支持"); yield return(mb); Quit(); } }
private IEnumerator LoadGameScene() { OnMessage("正在初始化"); Assets.runtimeMode = true; var init = Assets.Initialize(); yield return(init); if (string.IsNullOrEmpty(init.error)) { OnProgress(0); OnMessage("加载游戏场景"); var scene = Assets.LoadSceneAsync(gameScene, false); while (!scene.isDone) { OnProgress(scene.progress); yield return(null); } } else { var mb = MessageBox.Show("提示", "初始化异常错误:" + init.error + "请联系技术支持"); yield return(mb); Quit(); } }
private IEnumerator LoadGameScene() { OnMessage("正在初始化"); Assets.runtimeMode = !developmentMode; var init = Assets.Initialize(); yield return(init); if (string.IsNullOrEmpty(init.error)) { Assets.AddSearchPath("Assets/HotUpdateResources/Controller"); Assets.AddSearchPath("Assets/HotUpdateResources/Dll"); Assets.AddSearchPath("Assets/HotUpdateResources/Material"); Assets.AddSearchPath("Assets/HotUpdateResources/Other"); Assets.AddSearchPath("Assets/HotUpdateResources/Prefab"); Assets.AddSearchPath("Assets/HotUpdateResources/Scene"); Assets.AddSearchPath("Assets/HotUpdateResources/ScriptableObject"); Assets.AddSearchPath("Assets/HotUpdateResources/TextAsset"); Assets.AddSearchPath("Assets/HotUpdateResources/UI"); init.Release(); // foreach (var s in Assets._searchPaths) // { // Debug.Log("Assets._searchPaths: "+s); // } OnProgress(0); OnMessage("加载游戏场景"); //获取不到全部资源路径... // var ss = Assets.GetAllAssetPaths(); // foreach (var s in ss) // { // print("从资源包里找到路径: "+s); // } // Debug.Log("资源包有"+ss.Length+"资源"); var scene = Assets.LoadSceneAsync(gameScene, false); scene.completed += (AssetRequest request) => { FindObjectOfType <Init>().enabled = true; }; while (!scene.isDone) { OnProgress(scene.progress); yield return(null); } } else { init.Release(); var mb = MessageBox.Show("提示", "初始化异常错误:" + init.error + "请联系技术支持"); yield return(mb); Quit(); } }
public static void LoadScene(string assetPath, Action <AssetRequest> completed) { //Debug.Log("加载场景: " + assetPath); var asset = Assets.LoadSceneAsync(assetPath, false); asset.completed += delegate(AssetRequest a) { completed?.Invoke(a); }; }
private IEnumerator LoadGameScene() { OnMessage("正在初始化"); Assets.runtimeMode = !development; var init = Assets.Initialize(); yield return(init); if (string.IsNullOrEmpty(init.error)) { Assets.AddSearchPath("Assets/HotUpdateResources/Controller"); Assets.AddSearchPath("Assets/HotUpdateResources/Dll"); Assets.AddSearchPath("Assets/HotUpdateResources/Material"); Assets.AddSearchPath("Assets/HotUpdateResources/Other"); Assets.AddSearchPath("Assets/HotUpdateResources/Prefab"); Assets.AddSearchPath("Assets/HotUpdateResources/Scene"); Assets.AddSearchPath("Assets/HotUpdateResources/ScriptableObject"); Assets.AddSearchPath("Assets/HotUpdateResources/TextAsset"); Assets.AddSearchPath("Assets/HotUpdateResources/UI"); init.Release(); OnProgress(0); OnMessage("加载游戏场景"); var scene = Assets.LoadSceneAsync(gameScene, false); scene.completed += (AssetRequest request) => { FindObjectOfType <Init>().Load(); ClassBindMgr.Instantiate(); FindObjectOfType <Init>().OnHotFixLoaded(); }; while (!scene.isDone) { OnProgress(scene.progress); yield return(null); } } else { init.Release(); var mb = MessageBox.Show("提示", "初始化异常错误:" + init.error + "请联系技术支持"); yield return(mb); Quit(); } }
private IEnumerator LoadGameScene() { OnMessage("正在初始化"); Assets.runtimeMode = true; var init = Assets.Initialize(); yield return(init); if (string.IsNullOrEmpty(init.error)) { init.Release(); OnProgress(0); OnMessage("加载游戏场景"); // var ss = Assets.GetAllAssetPaths(); // foreach (var s in ss) // { // print(s); // } var scene = Assets.LoadSceneAsync(gameScene, false); scene.completed += (AssetRequest request) => { FindObjectOfType <Init>().enabled = true; }; while (!scene.isDone) { OnProgress(scene.progress); yield return(null); } } else { init.Release(); var mb = MessageBox.Show("提示", "初始化异常错误:" + init.error + "请联系技术支持"); yield return(mb); Quit(); } }
private void OnGUI() { if (state == State.Completed) { using (var v = new GUILayout.VerticalScope("AssetsUpdate Demo", "window")) { GUILayout.Label(string.Format("{0}:{1}", state, message)); if (GUILayout.Button("Clear")) { Clear(); } GUILayout.Label("AllBundleAssets:"); var assets = Assets.GetAllBundleAssetPaths(); foreach (var item in assets) { if (GUILayout.Button(item)) { assetPath = item; } } using (var h = new GUILayout.HorizontalScope()) { assetPath = GUILayout.TextField(assetPath, GUILayout.Width(256)); if (GUILayout.Button("Load")) { var asset = Assets.LoadAsset(assetPath, typeof(UnityEngine.Object)); asset.completed += OnAssetLoaded; } if (GUILayout.Button("LoadAsync")) { var asset = Assets.LoadAssetAsync(assetPath, typeof(UnityEngine.Object)); asset.completed += OnAssetLoaded; } if (GUILayout.Button("LoadScene")) { var asset = Assets.LoadSceneAsync(assetPath, true); asset.completed += OnAssetLoaded; } } if (loadedAssets.Count > 0) { if (GUILayout.Button("UnloadAll")) { for (int i = 0; i < loadedAssets.Count; i++) { var item = loadedAssets[i]; item.Release(); } loadedAssets.Clear(); } for (int i = 0; i < loadedAssets.Count; i++) { var item = loadedAssets[i]; using (var h = new GUILayout.HorizontalScope()) { GUILayout.Label(item.url); if (GUILayout.Button("Unload")) { item.Release(); loadedAssets.RemoveAt(i); i--; } } } } } } }
public void Load() { request = Assets.LoadSceneAsync(url, isAdditive); }