private void OnGUI() { using (var v = new GUILayout.VerticalScope("AssetsUpdate Demo", "window")) { switch (state) { case State.Wait: if (GUILayout.Button("Check")) { Check(); } break; case State.WaitDownload: if (GUILayout.Button("Download")) { Download(); } break; case State.Completed: if (GUILayout.Button("Clear")) { Clear(); } break; default: break; } GUILayout.Label(string.Format("{0}:{1}", state, message)); if (state == State.Completed) { GUILayout.Label("AllBundleAssets:"); foreach (var item in Assets.bundleAssets) { if (GUILayout.Button(item.Key)) { assetPath = item.Key; } } using (var h = new GUILayout.HorizontalScope()) { assetPath = GUILayout.TextField(assetPath, GUILayout.Width(256)); if (GUILayout.Button("Load")) { var asset = Assets.Load(assetPath, typeof(UnityEngine.Object)); asset.completed += OnAssetLoaded; } if (GUILayout.Button("LoadAsync")) { var asset = Assets.LoadAsync(assetPath, typeof(UnityEngine.Object)); asset.completed += OnAssetLoaded; } if (GUILayout.Button("LoadScene")) { var asset = Assets.LoadScene(assetPath, true, 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.name); if (GUILayout.Button("Unload")) { item.Release(); loadedAssets.RemoveAt(i); i--; } } } } } } }