Example #1
0
    //非同期読み込み
    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;
        }
    }
Example #2
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
    }
Example #3
0
    public void UnloadBank(GameDefine.eBank Bank)
    {
        if (!m_Bank.ContainsKey(Bank))
        {
            return;
        }

        Destroy(m_Bank[Bank].gameObject);
        m_Bank.Remove(Bank);
    }
Example #4
0
 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);
 }
Example #5
0
    // バンク読み込み開始
    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));
    }