//ファイルの読み込み public void Import(AdvScenarioDataProject project) { if (project.ChapterDataList.Count <= 0) { Debug.LogError("ChapterDataList is zeo"); return; } AssetFileManager.IsEditorErrorCheck = true; AdvCommand.IsEditorErrorCheck = true; AdvEngine engine = UtageEditorToolKit.FindComponentAllInTheScene <AdvEngine>(); if (engine != null) { engine.BootInitCustomCommand(); } this.scenarioDataTbl = new Dictionary <string, AdvScenarioData>(); this.macroManager = new AdvMacroManager(); AdvScenarioDataBuilderWindow.ProjectData.CreateScenariosIfMissing(); this.scenariosAsset = project.Scenarios; this.scenariosAsset.ClearOnImport(); //チャプターデータのインポート project.ChapterDataList.ForEach(x => ImportChapter(x.chapterName, x.ExcelPathList)); EditorUtility.SetDirty(this.scenariosAsset); AssetDatabase.Refresh(); AdvCommand.IsEditorErrorCheck = false; AssetFileManager.IsEditorErrorCheck = false; }
//スクリプトから初期化 public void InitOnCreate(AdvEngine engine, AdvImportScenarios scenarios, string rootResourceDir) { this.engine = engine; this.scenarios = scenarios; this.rootResourceDir = rootResourceDir; EditorVersionUp(); }
public void CreateScenariosIfMissing() { if (this.scenarios != null) { return; } string path = AssetDatabase.GetAssetPath(this); path = FilePathUtil.Combine(FilePathUtil.GetDirectoryPath(path), ProjectName + ".scenarios.asset"); //設定データのアセットをロードまたは作成 this.scenarios = UtageEditorToolKit.GetImportedAssetCreateIfMissing <AdvImportScenarios>(path); this.scenarios.hideFlags = HideFlags.NotEditable; EditorUtility.SetDirty(this); }
/// <summary> /// 設定されたエクスポートデータからゲームを開始 /// </summary> /// <param name="rootDirResource">リソースディレクトリ</param> IEnumerator CoBootFromExportData(AdvImportScenarios scenarios, string resourceDir) { ClearOnStart(); isStarted = true; isWaitBootLoading = true; onPreInit.Invoke(); while (!AssetFileManager.IsInitialized()) { yield return(0); } DataManager.SettingDataManager.ImportedScenarios = scenarios; BootInit(resourceDir); isWaitBootLoading = false; }
//ファイルの読み込み void ImportSub(AdvScenarioDataProject project) { Project = project; if (project.ChapterDataList.Count <= 0) { Debug.LogError("ChapterDataList is zeo"); return; } AssetFileManager.ClearCheckErrorInEditor(); AssetFileManager.IsEditorErrorCheck = true; AdvCommand.IsEditorErrorCheck = true; AdvCommand.IsEditorErrorCheckWaitType = project.CheckWaitType; UnityEngine.Profiling.Profiler.BeginSample("Import Scenarios"); AdvEngine engine = UtageEditorToolKit.FindComponentAllInTheScene <AdvEngine>(); if (engine != null) { engine.BootInitCustomCommand(); } this.scenarioDataTbl = new Dictionary <string, AdvScenarioData>(); this.macroManager = new AdvMacroManager(); AdvScenarioDataBuilderWindow.ProjectData.CreateScenariosIfMissing(); this.scenariosAsset = project.Scenarios; this.scenariosAsset.ClearOnImport(); //チャプターデータのインポート project.ChapterDataList.ForEach(x => ImportChapter(x.chapterName, x.ExcelPathList)); //ファイルが存在しているかチェック if (project.RecourceDir != null) { string path = new MainAssetInfo(project.RecourceDir).FullPath; AssetFileManager.CheckErrorInEditor(path, project.CheckExt); } UnityEngine.Profiling.Profiler.EndSample(); EditorUtility.SetDirty(this.scenariosAsset); AssetDatabase.Refresh(); AdvCommand.IsEditorErrorCheck = false; AdvCommand.IsEditorErrorCheckWaitType = false; AssetFileManager.IsEditorErrorCheck = false; }
//シナリオをロードする IEnumerator LoadScenariosAsync(string url) { AssetFile file = AssetFileManager.Load(url, this); while (!file.IsLoadEnd) { yield return(null); } AdvImportScenarios scenarios = file.UnityObject as AdvImportScenarios; if (scenarios == null) { Debug.LogError(url + " is not scenario file"); yield break; } this.Scenarios = scenarios; }
/// <summary> /// 設定されたエクスポートデータからゲームを開始 /// </summary> /// <param name="rootDirResource">リソースディレクトリ</param> IEnumerator CoBootFromExportData(AdvImportScenarios scenarios, string resourceDir) { ClearSub(false); isStarted = true; isWaitBootLoading = true; onPreInit.Invoke(); while (!AssetFileManager.IsInitialized()) { yield return(null); } //プロファイラ―が最初の1フレームはちゃんんと記録してくれないので遅らせる yield return(null); DataManager.SettingDataManager.ImportedScenarios = scenarios; BootInit(resourceDir); isWaitBootLoading = false; }
//章別に分かれたシナリオをロードする IEnumerator LoadChaptersAsync(string rootDir) { //動的に作成 AdvImportScenarios scenarios = ScriptableObject.CreateInstance <AdvImportScenarios>(); foreach (string chapterName in ChapterNames) { string url = FilePathUtil.Combine(rootDir, chapterName) + ".chapter.asset"; AssetFile file = AssetFileManager.Load(url, this); while (!file.IsLoadEnd) { yield return(null); } AdvChapterData chapter = file.UnityObject as AdvChapterData; if (scenarios == null) { Debug.LogError(url + " is not scenario file"); yield break; } scenarios.AddChapter(chapter); } this.Scenarios = scenarios; }
/// <summary> /// 設定されたエクスポートデータからゲームを開始 /// </summary> /// <param name="rootDirResource">リソースディレクトリ</param> public void BootFromExportData(AdvImportScenarios scenarios, string resourceDir) { this.gameObject.SetActive(true); StopAllCoroutines(); StartCoroutine(CoBootFromExportData(scenarios, resourceDir)); }
public void BootFromExportData(AdvImportScenarios scenarios, string resourceDir) { base.get_gameObject().SetActive(true); base.StopAllCoroutines(); base.StartCoroutine(this.CoBootFromExportData(scenarios, resourceDir)); }