Ejemplo n.º 1
0
        IEnumerator CoLoadAndInitScenariodData(AdvScenarioSettingData scenarioSetting)
        {
            string scenaioFileName = scenarioSetting.ScenaioFile;

            //既にある(エクスポートされたデータの可能性あり)
            if (scenarioDataTbl.ContainsKey(scenaioFileName))
            {
                yield break;
            }

            string          path = SettingDataManager.ScenarioSetting.ScenaioFileToPath(scenaioFileName);
            AdvScenarioData data = new AdvScenarioData();
            AssetFile       file = AssetFileManager.BackGroundLoad(path, this);

            while (!file.IsLoadEnd)
            {
                yield return(0);
            }

            data.Init(scenaioFileName, file.Csv, SettingDataManager);
            file.Unuse(this);
            scenarioDataTbl.Add(scenaioFileName, data);

            --loadingScenarioCount;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// エラーチェックのために実際にデータを作成
        /// エクスポートするときに使用。
        /// </summary>
        /// <param name="sheetName">シート名</param>
        /// <param name="grid">チェックするシナリオを記述したStringGrid</param>
        /// <param name="settingDataManger">データ管理の大本</param>
        /// <returns>シナリオデータ</returns>
        public AdvScenarioData ErrorCheck(string sheetName, StringGrid grid, AdvSettingDataManager settingDataManger)
        {
            AdvScenarioData scenario = new AdvScenarioData();

            scenario.Init(sheetName, grid, settingDataManger);
            return(scenario);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// シナリオデータのロードと初期化を開始
        /// </summary>
        public void StartLoadAndInitScenariodData()
        {
            //シナリオのエクスポート済みのデータをまず初期化
            foreach (AdvScenarioDataExported data in exportedScenarioDataTbl)
            {
                foreach (var exportedScenarioData in data.List)
                {
                    exportedScenarioData.Grid.InitLink();
                    AdvScenarioData scenarioData = new AdvScenarioData();
                    scenarioData.Init(exportedScenarioData.Key, exportedScenarioData.Grid, SettingDataManager);
                    scenarioDataTbl.Add(exportedScenarioData.Key, scenarioData);
                }
            }
            //エクスポートされたデータはもういらない。
            //メモリ食うので参照を外す
            exportedScenarioDataTbl = null;

            loadingScenarioCount = SettingDataManager.ScenarioSetting.List.Count;
            //シナリオファイルをロード
            foreach (AdvScenarioSettingData scenarioSetting in SettingDataManager.ScenarioSetting.List)
            {
                StartCoroutine(CoLoadAndInitScenariodData(scenarioSetting));
            }
        }
		/// <summary>
		/// シナリオデータのロードと初期化を開始
		/// </summary>
		public void StartLoadAndInitScenariodData()
		{
			//シナリオのエクスポート済みのデータをまず初期化
			foreach (AdvScenarioDataExported data in exportedScenarioDataTbl)
			{
				foreach (var exportedScenarioData in data.List)
				{
					exportedScenarioData.Grid.InitLink();
					AdvScenarioData scenarioData = new AdvScenarioData();
					scenarioData.Init(exportedScenarioData.Key, exportedScenarioData.Grid, SettingDataManager);
					scenarioDataTbl.Add(exportedScenarioData.Key, scenarioData);
				}
			}
			//エクスポートされたデータはもういらない。
			//メモリ食うので参照を外す
			exportedScenarioDataTbl = null;

			loadingScenarioCount = SettingDataManager.ScenarioSetting.List.Count;
			//シナリオファイルをロード
			foreach (AdvScenarioSettingData scenarioSetting in SettingDataManager.ScenarioSetting.List)
			{
				StartCoroutine( CoLoadAndInitScenariodData(scenarioSetting) );
			}
		}
		IEnumerator CoLoadAndInitScenariodData(AdvScenarioSettingData scenarioSetting)
		{
			string scenaioFileName = scenarioSetting.ScenaioFile;
			//既にある(エクスポートされたデータの可能性あり)
			if (scenarioDataTbl.ContainsKey(scenaioFileName)) yield break;

			string path = SettingDataManager.ScenarioSetting.ScenaioFileToPath(scenaioFileName);
			AdvScenarioData data = new AdvScenarioData();
			AssetFile file = AssetFileManager.BackGroundLoad(path, this);
			while (!file.IsLoadEnd) yield return 0;

			data.Init(scenaioFileName, file.Csv, SettingDataManager);
			file.Unuse(this);
			scenarioDataTbl.Add(scenaioFileName, data);

			--loadingScenarioCount;
		}
		/// <summary>
		/// エラーチェックのために実際にデータを作成
		/// エクスポートするときに使用。
		/// </summary>
		/// <param name="sheetName">シート名</param>
		/// <param name="grid">チェックするシナリオを記述したStringGrid</param>
		/// <param name="settingDataManger">データ管理の大本</param>
		/// <returns>シナリオデータ</returns>
		public AdvScenarioData ErrorCheck(string sheetName, StringGrid grid, AdvSettingDataManager settingDataManger)
		{
			AdvScenarioData scenario = new AdvScenarioData();
			scenario.Init( sheetName, grid, settingDataManger);
			return scenario;
		}