/// <summary> /// キャッシュからアセットバンドルを取得します。 /// </summary> /// <param name="assetBundleName">取得するアセットバンドルをひとつ指定します。</param> /// <param name="cb">完了時にコールバックで結果が返されます。</param> public static void LoadAssetBundle(string assetBundleName, OnLoadComplete cb) { // LoadAssetBundle実行 LoadAssetBundle(new string[] { assetBundleName }, cb); }
// ======== #region PRIVATE_CORUTINE_METHOD // キャッシュからアセットバンドルをロードする private static IEnumerator Load(List <string> urlList, string[] assetBundleNames, OnLoadComplete cb) { // キャッシュできる状態か確認 while (!Caching.ready) { yield return(null); } // ロードする int index = 0; do { // ロードされているかどうかチェック if (!bundleDic.ContainsKey(assetBundleNames[index])) { // キャッシュからアセットバンドルをロードする UnityWebRequest www = UnityWebRequest.GetAssetBundle(urlList[index]); // ロードを待つ yield return(www.SendWebRequest()); // エラー処理 if (www.error != null) { cb(false, www.error); // ロード失敗 // wwwを解放する www.Dispose(); throw new Exception("error : " + www.error); } // ロードしたアセットバンドルをセット AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(www); bundleDic.Add(assetBundleNames[index], bundle); } } while (++index < assetBundleNames.Length); cb(true, null); }
public void LoadRessour(string path,OnLoadComplete callBack){ loader.Load(path,callBack); }
public void Load() { Transform pParent = transform; // Prefabs for (int i = 0; i < 100; ++i) { // tree GameObject goTree = Instantiate(prefabTree); TreeHandler treeHandler = goTree.GetComponent <TreeHandler>(); treeHandler.Load(pParent); treeObjectPool.Enqueue(goTree); // stone GameObject goStone = Instantiate(prefabStone); StoneHandler stoneHandler = goStone.GetComponent <StoneHandler>(); stoneHandler.Load(pParent); stoneObjectPool.Enqueue(goStone); // food GameObject goFood = Instantiate(prefabFood); FoodHandler foodHandler = goFood.GetComponent <FoodHandler>(); foodHandler.Load(pParent); foodObjectPool.Enqueue(goFood); } // Preloads PlayController pc = PlayController.main; BuildingsHandler buildingsHandler = buildingsHandlerObject.GetComponent <BuildingsHandler>(); buildingsHandler.Load(); // houses BuildingClicker houseClicker = houseSmallClickerObject.GetComponent <BuildingClicker>(); houseClicker.Load(pc.gameData.houseSmallResourceCost); houseClicker = houseMediumClickerObject.GetComponent <BuildingClicker>(); houseClicker.Load(pc.gameData.houseMediumResourceCost); houseClicker = houseLargeClickerObject.GetComponent <BuildingClicker>(); houseClicker.Load(pc.gameData.houseLargeResourceCost); // resources BuildingClicker satisfactionClicker = farmClickerObject.GetComponent <BuildingClicker>(); satisfactionClicker.Load(pc.gameData.farmResourceCost); BuildingClicker resourceClicker = foresterClickerObject.GetComponent <BuildingClicker>(); resourceClicker.Load(pc.gameData.foresterResourceCost); resourceClicker = quarryClickerObject.GetComponent <BuildingClicker>(); resourceClicker.Load(pc.gameData.quarryResourceCost); // satisfaction resourceClicker = cemeteryClickerObject.GetComponent <BuildingClicker>(); resourceClicker.Load(pc.gameData.cemeteryResourceCost); satisfactionClicker = clinicClickerObject.GetComponent <BuildingClicker>(); satisfactionClicker.Load(pc.gameData.clinicResourceCost); satisfactionClicker = tavernClickerObject.GetComponent <BuildingClicker>(); satisfactionClicker.Load(pc.gameData.tavernResourceCost); OnLoadComplete?.Invoke(); }
/// <summary> /// invoked when the <see cref="UiElement"/> has finished its transition load /// </summary> /// <param name="uiElement">the loaded menu</param> public void InvokeLoadComplete(UiElement uiElement) { OnLoadComplete?.Invoke(uiElement); }
// キャッシュからアセットバンドルをロードする IEnumerator Load(List<string> urlList, string[] assetBundleNames, OnLoadComplete cb) { // ロードする int index = 0; do { // ロードされているかどうかチェック if (!bundleDic.ContainsKey(assetBundleNames [index])) { // キャッシュからアセットバンドルをロードする WWW www = WWW.LoadFromCacheOrDownload (urlList [index], ver); // ロードを待つ yield return www; // エラー処理 if (www.error != null) { cb (false, www.error); // ロード失敗 throw new Exception ("error : " + www.error); } // ロードしたアセットバンドルをセット bundleDic.Add (assetBundleNames [index], www.assetBundle); // wwwを解放する www.Dispose (); } } while (++index < assetBundleNames.Length); cb (true, null); }
/// <summary> /// キャッシュからアセットバンドルを取得します。 /// </summary> public void LoadAssetBundle(string[] assetBundleNames, OnLoadComplete cb) { // Dictionary初期化 if (bundleDic == null) bundleDic = new Dictionary<string, AssetBundle> (); // URL設定 List<string> urlList = new List<string>(); foreach (string name in assetBundleNames) { // URLを生成 string tmp = baseURL + name; // URLをセットする urlList.Add(tmp); } // ロード開始 StartCoroutine (Load (urlList, assetBundleNames, cb)); }