//非同期読み込み private IEnumerator LoadAssetBundleCoreAsync(GameDefine.eBank Bank) { // ファイル名作成 string assetBundleName = "sb_" + GameDefine.BankNameTbl[(int)Bank] + ".asb"; // ファイルロード開始 FileLoader Loader = FileLoader.LoadAssetBundle(assetBundleName); yield return(new WaitWhile(() => Loader.assetBundle == null)); // バンクオブジェクトのロード Loader.LoadObject(GameDefine.BankNameTbl[(int)Bank]); yield return(new WaitWhile(() => Loader.GetObject(GameDefine.BankNameTbl[(int)Bank]) == null)); // バンク作成 GameObject BankObj = Instantiate(Loader.GetObject <GameObject>(GameDefine.BankNameTbl[(int)Bank]), transform) as GameObject; m_Bank[Bank] = BankObj.GetComponent <SpriteBank>(); // アセットバンドルのアンロード Loader.UnloadAseetBundle(); // 読み込みカウンタのデクリメント m_ExecCounter--; if (m_ExecCounter < 0) { m_ExecCounter = 0; } }
public void UnloadBankSceneEnd() { #if false for (GameDefine.eBank i = GameDefine.eBank.Start; i < GameDefine.eBank.Common; i++) { /* * switch( i ) * { * case GameDefine.eBank.EN: * if( SaveDataMgr.Instance.Langage == SaveDataMgr.eLangage.EN ) * { * continue; * } * break; * case GameDefine.eBank.CN: * if( SaveDataMgr.Instance.Langage == SaveDataMgr.eLangage.CN ) * { * continue; * } * break; * case GameDefine.eBank.KR: * if( SaveDataMgr.Instance.Langage == SaveDataMgr.eLangage.KR ) * { * continue; * } * break; * }*/ UnloadBank(i); } #endif }
public void UnloadBank(GameDefine.eBank Bank) { if (!m_Bank.ContainsKey(Bank)) { return; } Destroy(m_Bank[Bank].gameObject); m_Bank.Remove(Bank); }
public Sprite GetSprite(GameDefine.eBank Bank, string name) { for (int j = 0; j < m_Bank[Bank].FileNameList.Length; j++) { if (m_Bank[Bank].FileNameList[j] == name) { return(m_Bank[Bank].SpriteList[j]); } } return(null); }
// バンク読み込み開始 public void LoadBank(GameDefine.eBank Bank) { if (m_Bank.ContainsKey(Bank)) { //if( m_Bank[Bank] != null ) { return; } } m_Bank.Add(Bank, null); // 読み込みカウントインクリメント m_ExecCounter++; // 読み込み StartCoroutine(LoadAssetBundleCoreAsync(Bank)); }