Пример #1
0
        //**************************** CSVのロード用 ****************************//

        /// <summary>
        /// CSVファイルからロードして初期化
        /// </summary>
        /// <param name="parent">コルーチンをまわすためのMonoBehaviour</param>
        /// <param name="url">ファイルパス</param>
        /// <param name="version">シナリオバージョン(-1以下で必ずサーバーからデータを読み直す)</param>
        /// <returns></returns>
        public IEnumerator LoadCsvAsync(MonoBehaviour parent, string url, int version)
        {
            //起動ファイルの読み込み
            {
                AssetFile file = AssetFileManager.GetFileCreateIfMissing(url);
                if (version < 0)
                {
                    file.Version = file.CacheVersion + 1;
                }
                AssetFileManager.Load(file, this);
                while (!file.IsLoadEnd)
                {
                    yield return(0);
                }
                SettingData.InitFromCsv(file.Csv, url);
                file.Unuse(this);
            }

            parent.StartCoroutine(ScenarioSetting.LoadCsvAsync(SettingData.ScenarioSettingUrlList));
            parent.StartCoroutine(CharacterSetting.LoadCsvAsync(SettingData.CharacterSettingUrlList));
            parent.StartCoroutine(TextureSetting.LoadCsvAsync(SettingData.TextureSettingUrlList));
            parent.StartCoroutine(SoundSetting.LoadCsvAsync(SettingData.SoundSettingUrlList));
            parent.StartCoroutine(DefaultParam.LoadCsvAsync(SettingData.ParamSettingUrlList));
            parent.StartCoroutine(LayerSetting.LoadCsvAsync(SettingData.LayerSettingUrlList));
            parent.StartCoroutine(SceneGallerySetting.LoadCsvAsync(SettingData.SceneGallerySettingUrlList));


            while (!IsLoadEndCsv())
            {
                yield return(0);
            }
        }
Пример #2
0
        public void ParseScenarioSettings(List <ScenarioSetting> kgSettings, List <Vertex> rootVertexes)
        {
            Dictionary <string, ScenarioSetting> scenarioCache = new Dictionary <string, ScenarioSetting>();

            if (kgSettings != null && kgSettings.Count > 0)
            {
                foreach (ScenarioSetting setting in kgSettings)
                {
                    scenarioCache.Add(setting.scenarioName, setting);
                }
            }


            foreach (Vertex vertex in rootVertexes)
            {
                if (vertex.nodeType == "ROOT" && vertex.scenarios != null)
                {
                    foreach (string scenarioName in vertex.scenarios)
                    {
                        if (scenarioCache.ContainsKey(scenarioName))
                        {
                            scenarioCache[scenarioName].root = vertex;
                        }
                        else
                        {
                            ScenarioSetting defaultSetting = new ScenarioSetting(scenarioName, vertex);
                            scenarioCache.Add(scenarioName, defaultSetting);
                        }
                    }
                }
            }

            NLUStore.GetInstance().SetSceanrioCache(scenarioCache);
        }
        //**************************** CSVのロード用 ****************************//

        /// <summary>
        /// CSVファイルからロードして初期化
        /// </summary>
        /// <param name="parent">コルーチンをまわすためのMonoBehaviour</param>
        /// <param name="url">ファイルパス</param>
        /// <param name="version">シナリオバージョン(-1以下で必ずサーバーからデータを読み直す)</param>
        /// <returns></returns>
        public IEnumerator LoadCsvAsync(MonoBehaviour parent, string url, int version)
        {
            //起動ファイルの読み込み
            {
                AssetFile file = AssetFileManager.Load(url, version, this);
                Debug.Log("Boot Scenario Version:" + file.Version);
                while (!file.IsLoadEnd)
                {
                    yield return(0);
                }
                SettingData.InitFromCsv(file.Csv, url);
                file.Unuse(this);
            }

            importVersion = Version;

            parent.StartCoroutine(ScenarioSetting.LoadCsvAsync(SettingData.ScenarioSettingUrlList));
            parent.StartCoroutine(CharacterSetting.LoadCsvAsync(SettingData.CharacterSettingUrlList));
            parent.StartCoroutine(TextureSetting.LoadCsvAsync(SettingData.TextureSettingUrlList));
            parent.StartCoroutine(SoundSetting.LoadCsvAsync(SettingData.SoundSettingUrlList));
            parent.StartCoroutine(DefaultParam.LoadCsvAsync(SettingData.ParamSettingUrlList));
            parent.StartCoroutine(LayerSetting.LoadCsvAsync(SettingData.LayerSettingUrlList));
            parent.StartCoroutine(SceneGallerySetting.LoadCsvAsync(SettingData.SceneGallerySettingUrlList));


            while (!IsLoadEndCsv())
            {
                yield return(0);
            }
        }
Пример #4
0
 /// <summary>
 /// 起動時の初期化
 /// </summary>
 /// <param name="rootDirResource">ルートディレクトリのリソース</param>
 public void BootInit(string rootDirResource)
 {
     SettingData.BootInit(rootDirResource);
     LayerSetting.BootInit(SettingData);
     ScenarioSetting.BootInit(SettingData);
     CharacterSetting.BootInit(SettingData);
     TextureSetting.BootInit(SettingData);
     SoundSetting.BootInit(SettingData);
     SceneGallerySetting.BootInit(SettingData);
 }
Пример #5
0
 /// <summary>
 /// データをクリア
 /// </summary>
 public void Clear()
 {
     settingData = new AdvBootSetting();
     LayerSetting.Clear();
     CharacterSetting.Clear();
     TextureSetting.Clear();
     SoundSetting.Clear();
     ScenarioSetting.Clear();
     DefaultParam.Clear();
     SceneGallerySetting.Clear();
 }
        /// <summary>
        /// 起動時の初期化
        /// </summary>
        /// <param name="rootDirResource">ルートディレクトリのリソース</param>
        public void BootInit(string rootDirResource)
        {
            if (importVersion < Version)
            {
                Debug.LogError("Version Error! Please Import Scenario Data");
            }

            SettingData.BootInit(rootDirResource);
            LayerSetting.BootInit(SettingData);
            CharacterSetting.BootInit(SettingData);
            TextureSetting.BootInit(SettingData);
            SoundSetting.BootInit(SettingData);
            DefaultParam.BootInit();
            SceneGallerySetting.BootInit(SettingData);
            ScenarioSetting.BootInit(SettingData);
            PageContoroller.Clear();
        }
        /// <summary>
        /// 設定データのエクセルシートを読み込む
        /// </summary>
        /// <param name="sheetName">シート名</param>
        /// <param name="grid">シートのStringGridデータ</param>
        public void ParseFromExcel(string sheetName, StringGrid grid)
        {
            importVersion = Version;
            switch (sheetName)
            {
            case SheetNameBoot:
                SettingData.InitFromStringGrid(grid);
                break;

            case SheetNameScenario:
                ScenarioSetting.InitFromStringGrid(grid);
                break;

            case SheetNameCharacter:
                CharacterSetting.InitFromStringGrid(grid);
                break;

            case SheetNameTexture:
                TextureSetting.InitFromStringGrid(grid);
                break;

            case SheetNameSound:
                SoundSetting.InitFromStringGrid(grid);
                break;

            case SheetNameLayer:
                LayerSetting.InitFromStringGrid(grid);
                break;

            case SheetNameParam:
                DefaultParam.InitFromStringGrid(grid);
                break;

            case SheetNameSceneGallery:
                SceneGallerySetting.InitFromStringGrid(grid);
                break;

            default:
                Debug.LogError(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.NotSettingSheet, sheetName));
                break;
            }
        }