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); }
/// <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; }