예제 #1
0
    // 指定されたパスからオブジェクトを取得する場合
    public IEnumerator LoadAssetsData(LoadManager.LoadDataParam loadDataParam, CallBack callNext)
    {
//		string resultUrl = "file://" + SystemSetting.GetStreamingAssetspath() + m_strLoadURL + loadDataParam.url;
        string     resultUrl    = m_strLoadURL + loadDataParam.url;
        GameObject returnObject = null;

        Debug.Log("Loading :" + resultUrl + " ver=" + loadDataParam.version);

        // キャッシュシステムの準備が完了するのを待ちます
        while (!Caching.ready)
        {
            yield return(null);
        }
        // 同じバージョンが存在する場合はアセットバンドルをキャッシュからロードするか、またはダウンロードしてキャッシュに格納します。

        using (WWW www = WWW.LoadFromCacheOrDownload(resultUrl, loadDataParam.version)) {
            yield return(www);

            if (www.error != null)
            {
                throw new Exception("WWWダウンロードにエラーがありました:" + www.error);
            }

            AssetBundle bundle = www.assetBundle;
            if (loadDataParam.fileName == "")
            {
                Instantiate(bundle.mainAsset);
            }
            else if (loadDataParam.loadType == LoadParam.LoadType.Atlas ||
                     loadDataParam.loadType == LoadParam.LoadType.IconAtlas ||
                     loadDataParam.loadType == LoadParam.LoadType.EventAtlas ||
                     loadDataParam.loadType == LoadParam.LoadType.System ||
                     loadDataParam.loadType == LoadParam.LoadType.GameDataAsset ||
                     loadDataParam.loadType == LoadParam.LoadType.Audio ||
                     loadDataParam.loadType == LoadParam.LoadType.BitmapFont)
            {
                Debug.Log("loadDataParam.fileName=" + loadDataParam.fileName);
//				bundle.LoadAsset (loadDataParam.fileName);
                GameObject tmpObj = Instantiate(bundle.LoadAsset(loadDataParam.fileName, typeof(GameObject))) as GameObject;
                returnObject = tmpObj;
            }
            else
            {
                Instantiate(bundle.LoadAsset(loadDataParam.fileName));
            }
            // メモリ節約のため圧縮されたアセットバンドルのコンテンツをアンロード
            bundle.Unload(false);
        }         // memory is freed from the web stream (www.Dispose() gets called implicitly)

        callNext(returnObject, loadDataParam);
    }
예제 #2
0
    public static void DataSet(GameObject obj, LoadManager.LoadDataParam loadDataParam)
    {
        switch (loadDataParam.fileName)
        {
        case "MasterCardPrefab":
            DataContainer.Instance.MasterCardList = obj.GetComponent <MasterCardDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterItemPrefab":
            DataContainer.Instance.MasterItemList = obj.GetComponent <MasterItemDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterSkillPrefab":
            DataContainer.Instance.MasterSkillList = obj.GetComponent <MasterSkillDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterCollectionPrefab":
            DataContainer.Instance.MasterCollectionList = obj.GetComponent <MasterCollectionDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterSafeBoxPrefab":
            DataContainer.Instance.MasterSafeBoxList = obj.GetComponent <MasterSafeBoxDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterCardCompleteBonusPrefab":
            DataContainer.Instance.MasterCardCompleteBonusList = obj.GetComponent <MasterCardCompleteBonusDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterCollectionCompleteBonusPrefab":
            DataContainer.Instance.MasterCollectionCompleteBonusList = obj.GetComponent <MasterCollectionCompleteBonusDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterLeaderSkillPrefab":
            DataContainer.Instance.MasterLeaderSkillList = obj.GetComponent <MasterLeaderSkillDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterGachaPrefab":
            DataContainer.Instance.MasterGachaList = obj.GetComponent <MasterGachaDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterQuizPrefab":
            DataContainer.Instance.MasterQuizList = obj.GetComponent <MasterQuizDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterLoginBonusPrefab":
            DataContainer.Instance.MasterLoginBonusList = obj.GetComponent <MasterLoginBonusDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterLoginBonusRewardPrefab":
            DataContainer.Instance.MasterLoginBonusRewardList = obj.GetComponent <MasterLoginBonusRewardDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterLoginBonusRewardDetailPrefab":
            DataContainer.Instance.MasterLoginBonusRewardDetailList = obj.GetComponent <MasterLoginBonusRewardDetailDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterCommonShopPrefab":
            DataContainer.Instance.MasterCommonShopList = obj.GetComponent <MasterCommonShopDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterCommonShopDetailPrefab":
            DataContainer.Instance.MasterCommonShopDetailList = obj.GetComponent <MasterCommonShopDetailDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterRuinPrefab":
            DataContainer.Instance.MasterRuinList = obj.GetComponent <MasterRuinDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterLoadAtlasPrefab":
            DataContainer.Instance.MasterLoadAtlasList = obj.GetComponent <MasterLoadAtlasDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterLoadPrefabPrefab":
            DataContainer.Instance.MasterLoadPrefabList = obj.GetComponent <MasterLoadPrefabDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterLoadSpritePrefab":
            DataContainer.Instance.MasterLoadSpriteList = obj.GetComponent <MasterLoadSpriteDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterLoadAudioPrefab":
            DataContainer.Instance.MasterLoadAudioList = obj.GetComponent <MasterLoadAudioDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterRuinSugorokuPrefab":
            DataContainer.Instance.MasterRuinSugorokuList = obj.GetComponent <MasterRuinSugorokuDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterRuinSugorokuGridPrefab":
            DataContainer.Instance.MasterRuinSugorokuGridList = obj.GetComponent <MasterRuinSugorokuGridDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterJackpotLotFirstPrefab":
            DataContainer.Instance.MasterJackpotLotFirstList = obj.GetComponent <MasterJackpotLotFirstDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterJackpotLotFirstAnimationPrefab":
            DataContainer.Instance.MasterJackpotLotFirstAnimationList = obj.GetComponent <MasterJackpotLotFirstAnimationDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterJackpotLotSecondPrefab":
            DataContainer.Instance.MasterJackpotLotSecondList = obj.GetComponent <MasterJackpotLotSecondDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterJackpotLotSecondAnimationPrefab":
            DataContainer.Instance.MasterJackpotLotSecondAnimationList = obj.GetComponent <MasterJackpotLotSecondAnimationDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterQuestSkillPrefab":
            DataContainer.Instance.MasterQuestSkillList = obj.GetComponent <MasterQuestSkillDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterSkitPrefab":
            DataContainer.Instance.MasterSkitList = obj.GetComponent <MasterSkitDataHolder> ().assetBundleData.DataList;
            break;

        case "MasterSlotProbTablePrefab":
            DataContainer.Instance.MasterSlotProbTableList = obj.GetComponent <MasterSlotProbTableDataHolder> ().assetBundleData.DataList;
            break;

        default:
            Debug.LogError("未定義のデータが来ています" + loadDataParam.fileName);
            break;
        }
    }
예제 #3
0
 public void LoadData(LoadManager.LoadDataParam loadDataParam, CallBack callNext)
 {
     StartCoroutine(LoadAssetsData(loadDataParam, callNext));
 }