// ReSharper disable UnusedMember.Local // ReSharper disable InconsistentNaming void OnGUI() // ReSharper restore InconsistentNaming // ReSharper restore UnusedMember.Local { // classic OnGUI GUI.depth = 0; if (GUI.Button(new Rect(10, 10, 100, 50), "Load")) { // reset queues _wwwQueue.Reset(); _assetBundleQueue.Reset(); _objects.ForEach(Destroy); _loadedBundles.ForEach(delegate(AssetBundle bundle){ bundle.Unload(true); }); foreach (string s in AssetUrls) { string[] arr = s.Split('|'); if (arr.Length != 2) { throw new Exception("Error in asset string"); } string bundleUrl = arr[0]; string assetName = arr[1]; _wwwQueue.Send(new WWW(bundleUrl), delegate(WWW request) { //if (!string.IsNullOrEmpty(request.error)){ // Debug.Log("Loading error: [" + bundleUrl + "]: " + request.error); // return; //} Debug.Log("Bundle loaded: " + request.url); _loadedBundles.Add(request.assetBundle); AssetBundleRequest assetBundleRequest = request.assetBundle.LoadAsync(assetName, typeof(GameObject)); _assetBundleQueue.Send(assetBundleRequest, delegate(AssetBundleRequest request2) { Debug.Log("Asset loaded: " + request2.asset.name); GameObject go = (GameObject)Instantiate(request2.asset); _objects.Add(go); // add mouse orbit GameObject cameraGo = GameObject.Find("Main Camera"); if (null != cameraGo) { MouseOrbitCs mouseOrbit = cameraGo.AddComponent <MouseOrbitCs>(); mouseOrbit.Target = go.transform; } } ); }); } } }
// ReSharper disable UnusedMember.Local // ReSharper disable InconsistentNaming void OnGUI() // ReSharper restore InconsistentNaming // ReSharper restore UnusedMember.Local { // classic OnGUI GUI.depth = 0; if (GUI.Button(new Rect(10, 10, 100, 50), _progress == 0 ? "Load" : "Loading: " + _progress + "%")) { // reset queues _bundleQueue.Reset(); _assetBundleQueue.Reset(); // destroy old object if (null != _object) { Destroy(_object); } // unload old bundle if (null != _bundle) { _bundle.Unload(true); } // load bundle _bundleQueue.Send(new WWW(BundleUrl), delegate(WWW request) { Debug.Log("Bundle loaded: " + request.url); _bundle = request.assetBundle; #if UNITY_5_0_OR_NEWER || UNITY_2017_1_OR_NEWER AssetBundleRequest assetBundleRequest = _bundle.LoadAssetAsync(AssetName, typeof(GameObject)); #else AssetBundleRequest assetBundleRequest = _bundle.LoadAsync(AssetName, typeof(GameObject)); #endif _assetBundleQueue.Send(assetBundleRequest, delegate(AssetBundleRequest request2) { Debug.Log("Asset loaded: " + request2.asset.name); _object = (GameObject)Instantiate(request2.asset); // add mouse orbit GameObject cameraGo = GameObject.Find("Main Camera"); if (null != cameraGo) { MouseOrbitCs mouseOrbit = cameraGo.AddComponent <MouseOrbitCs>(); mouseOrbit.Target = _object.transform; } } ); } ); } }
private void AssetLoadedHandler(AssetBundleRequest request) { Debug.Log("Asset loaded: " + request.asset.name); _object = (GameObject)Instantiate(request.asset); // add mouse orbit GameObject cameraGo = GameObject.Find("Main Camera"); if (null != cameraGo) { MouseOrbitCs mouseOrbit = cameraGo.AddComponent <MouseOrbitCs>(); mouseOrbit.Target = _object.transform; } }