/// <summary> /// CSV形式ファイルをロードして初期化 /// </summary> /// <param name="url">CSVのパス</param> /// <param name="version">シナリオバージョン(-1以下で必ずサーバーからデータを読み直す)</param> /// <returns></returns> public IEnumerator LoadCsvAsync(string url, int version ) { exportedScenarioDataTbl = new AdvScenarioDataExported[0]; scenarioDataTbl.Clear(); settingDataManager = ScriptableObject.CreateInstance<AdvSettingDataManager>(); yield return StartCoroutine(SettingDataManager.LoadCsvAsync(this, url, version)); }
//スクリプトから初期化 public void InitOnCreate(AdvEngine engine, AdvSettingDataManager settingDataManager, AdvScenarioDataExported[] exportedScenarioDataTbl, string rootResourceDir) { this.engine = engine; this.settingDataManager = settingDataManager; this.exportedScenarioDataTbl = exportedScenarioDataTbl; this.rootResourceDir = rootResourceDir; }
/// <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 InitData(AdvSettingDataManager settingDataManager, AdvScenarioDataExported[] exportedScenarioDataTbl) { this.settingDataManager = settingDataManager; this.exportedScenarioDataTbl = exportedScenarioDataTbl; }