/// <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);
    }
Example #3
0
	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();
        }
Example #5
0
 /// <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));
 }