Example #1
0
    /*
     * private LoadDataParam MakeLoadData( string folderName, string filename , LoadParam.LoadType loadType, int loadVersion ){
     *      LoadDataParam tmpLoadData = new LoadDataParam();
     *
     *      tmpLoadData.url = folderName + "/" + filename + "."+DEFINE.ASSET_BUNDLE_PREFIX+".unity3d";
     *      tmpLoadData.fileName = filename;
     *      tmpLoadData.loadType = loadType;
     *      tmpLoadData.version = loadVersion;
     *
     *      return tmpLoadData;
     * }
     */

    private void LoadingAssetBundle()
    {
        LoadDataParam tmpLoadParam = loadDataParamList[loadcount];

        if (tmpLoadParam.loadType == LoadParam.LoadType.GameDataAsset)
        {
            BundleLoader.Instance.LoadData(tmpLoadParam, LoadGameDataCallBack);
        }
        else if (tmpLoadParam.loadType == LoadParam.LoadType.System)
        {
            BundleLoader.Instance.LoadData(tmpLoadParam, LoadCallBack);
        }
        else if (tmpLoadParam.loadType == LoadParam.LoadType.Audio)
        {
            BundleLoader.Instance.LoadData(tmpLoadParam, AudioDataCallBack);
        }
        else if (tmpLoadParam.loadType == LoadParam.LoadType.BitmapFont)
        {
            BundleLoader.Instance.LoadData(tmpLoadParam, LoadCallBack);
        }
        else
        {
            Debug.LogError("読み込みデータの指定に異常があります");
        }

        LoadDialogAdd();
    }
Example #2
0
    public void LoadGameDataCallBack(GameObject obj, LoadDataParam loadDataParam)
    {
        if (obj != null)
        {
            Debug.LogWarning("データ読み込み :" + obj);
            DataContainer.DataSet(obj, loadDataParam);

            obj.transform.parent = DataContainer.Instance.gameObject.transform;
        }
        else
        {
            Debug.LogError("オブジェクトが読めていません :" + loadDataParam.fileName);
        }

//		loadcount++;
        if (loadcount < loadDataParamList.Count)
        {
            //Debug.Log("次の処理" + "===========================================");
            LoadingAssetBundle();
        }
        else
        {
            //ゲージをMAXに
            m_ctrlDownloadDialog.SetSliderValue(1.0f);
            m_ctrlDownloadDialog.SetPercentage(loadMax, loadMax);
            m_ctrlDownloadDialog.ForceFadeOut();
            m_IsLoadEnd = true;
        }
    }
Example #3
0
    private void SetLoadPath(string folderName, string filename, LoadParam.LoadType loadType, int loadVersion)
    {
        LoadDataParam tmpLoadData = MakeLoadDataParam(folderName, filename, loadType, loadVersion);

        loadDataParamList.Add(tmpLoadData);
        return;
    }
Example #4
0
    private void SetLoadPath(AssetBundleData.Param _tParam, LoadParam.LoadType _eLoadType)
    {
        LoadDataParam tmpLoadData = MakeLoadDataParam(_tParam.folderName, _tParam.assetbundleName, _eLoadType, _tParam.version);

        tmpLoadData.arr_index = _tParam.arr_index;
        loadDataParamList.Add(tmpLoadData);
        return;
    }
Example #5
0
    private LoadDataParam MakeLoadDataParam(string folderName, string filename, LoadParam.LoadType loadType, int loadVersion)
    {
        LoadDataParam tmpLoadData = new LoadDataParam();

        tmpLoadData.url      = Define.ASSET_BUNDLES_ROOT + folderName + "/" + filename + "Prefab.unity3d";
        tmpLoadData.fileName = filename + "Prefab";
        tmpLoadData.loadType = loadType;
        tmpLoadData.version  = loadVersion;

        //Debug.Log ("url="+tmpLoadData.url+" fileName="+tmpLoadData.fileName+" loadType="+tmpLoadData.loadType+" loadVersion="+tmpLoadData.version);

        return(tmpLoadData);
    }
Example #6
0
    public void LoadCallBack(GameObject obj, LoadDataParam loadDataParam)
    {
        if (obj != null)
        {
            if (loadDataParam.loadType == LoadParam.LoadType.Atlas)
            {
//                UIAtlas atlas = obj.GetComponent<UIAtlas>();
//                m_atlMonsterTexture.Add(atlas);
            }
            else if (loadDataParam.loadType == LoadParam.LoadType.IconAtlas)
            {
//                UIAtlas atlas = obj.GetComponent<UIAtlas>();
//                m_atlMonsterIcon.Add(atlas);
            }
            else if (loadDataParam.loadType == LoadParam.LoadType.System)
            {
                UIAtlas atlas = obj.GetComponent <UIAtlas>();
                m_atlSystemTemp[m_atlKey] = atlas;
                m_atlKey++;
            }
            else if (loadDataParam.loadType == LoadParam.LoadType.EventAtlas)
            {
//                UIAtlas atlas = obj.GetComponent<UIAtlas>();
//                m_atlEventAtlasTemp.Add(atlas);
            }
            else if (loadDataParam.loadType == LoadParam.LoadType.BitmapFont)
            {
                UIFont bitmapFont = obj.GetComponent <UIFont>();
                m_atlBitmapFontTemp.Add(bitmapFont);
            }
            obj.transform.parent = DataContainer.Instance.gameObject.transform;
        }
        else
        {
            Debug.LogError("オブジェクトが読めていません :" + loadDataParam.fileName);
        }

//        loadcount++;
        if (loadcount < loadDataParamList.Count)
        {
            LoadingAssetBundle();
        }
        else
        {
            //ゲージをMAXに
            m_ctrlDownloadDialog.SetSliderValue(1.0f);
            m_ctrlDownloadDialog.SetPercentage(loadMax, loadMax);
            m_ctrlDownloadDialog.ForceFadeOut();
            m_IsLoadEnd = true;
        }
    }
Example #7
0
    // StreamingAssetsからオブジェクトを取得する場合
    public IEnumerator LoadStreamingAssets(LoadDataParam loadDataParam, CallBack callNext)
    {
        string resultUrl = "";

        resultUrl = "file://" + Application.streamingAssetsPath + "/" + loadDataParam.url;


        //Debug.Log ("AssetBundleUrl : " + resultUrl);

        GameObject returnObject = null;


        // キャッシュシステムの準備が完了するのを待ちます
        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 == LoadType.Audio)
            {
                //Debug.LogWarning ("Filename :" + loadDataParam.fileName);
                GameObject tmpObj = Instantiate(bundle.LoadAsset(loadDataParam.fileName, typeof(GameObject))) as GameObject;
                returnObject = tmpObj;
            }
            else
            {
                Instantiate(bundle.LoadAsset(loadDataParam.fileName));
            }
            // メモリ節約のため圧縮されたアセットバンドルのコンテンツをアンロード
            bundle.Unload(false);
        }

        ////Debug.Log(Caching.IsVersionCached( resultUrl, 1));
        ////Debug.Log("DownloadAndCache end");

        callNext(returnObject, loadDataParam);
    }
Example #8
0
    public void AudioDataCallBack(GameObject obj, LoadDataParam loadDataParam)
    {
//        Debug.LogWarning("File Name :" + loadDataParam.fileName);

        if (obj != null)
        {
            if (loadDataParam.fileName == "AudioDataHolder_MedalGamePrefab")
            {
                AudioDataHolder audioDataHolder = obj.gameObject.GetComponent <AudioDataHolder> ();

//                Debug.LogWarning ("audioDataHolder :" + audioDataHolder.name);

                audioSettingData = audioDataHolder.audioSettingData;

//                Debug.LogWarning("SetEnd :" + audioSettingData);

                Debug.LogError("dont use");
                //SoundManager.Instance.Init (audioSettingData);
            }
            else
            {
                Debug.LogError("オーディオオブジェクトの設定に異常があります :" + loadDataParam.fileName);
            }
            obj.transform.parent = DataContainer.Instance.gameObject.transform;
        }
        else
        {
            Debug.LogError("オブジェクトが読めていません :" + loadDataParam.fileName);
        }

//        loadcount++;
        if (loadcount < loadDataParamList.Count)
        {
            //Debug.Log("次の処理" + "===========================================");
            LoadingAssetBundle();
        }
        else
        {
            //ゲージをMAXに
            m_ctrlDownloadDialog.SetSliderValue(1.0f);
            m_ctrlDownloadDialog.SetPercentage(loadMax, loadMax);
            m_ctrlDownloadDialog.ForceFadeOut();
            m_IsLoadEnd = true;
        }
    }
Example #9
0
 public void LoadData(LoadDataParam loadDataParam, CallBack callNext)
 {
     StartCoroutine(LoadStreamingAssets(loadDataParam, callNext));
 }