Пример #1
0
        //ファイルの読み込み
        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;
        }
Пример #2
0
 //スクリプトから初期化
 public void InitOnCreate(AdvEngine engine, AdvImportScenarios scenarios, string rootResourceDir)
 {
     this.engine          = engine;
     this.scenarios       = scenarios;
     this.rootResourceDir = rootResourceDir;
     EditorVersionUp();
 }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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;
        }
Пример #5
0
        //ファイルの読み込み
        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;
        }
Пример #6
0
        //シナリオをロードする
        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;
        }
Пример #7
0
        /// <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;
        }
Пример #8
0
        //章別に分かれたシナリオをロードする
        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;
        }
Пример #9
0
 /// <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));
 }