//コマンドスレッド終了 void OnEndThread() { IsPlaying = false; if (IsMainThread) { ScenarioPlayer.EndScenario(); } else { Destroy(this); } }
/// <summary> /// シナリオ終了 /// </summary> public void EndScenario() { ScenarioPlayer.EndScenario(); }
/// <summary> /// シナリオ終了 /// </summary> public void EndScenario() { ScenarioPlayer.EndScenario(); isWaitBootLoading = true; }
/// <summary> /// シナリオ終了 /// </summary> public void EndScenario() { Clear(); ScenarioPlayer.EndScenario(); }
//指定のシナリオを再生 IEnumerator CoStartScenario(string label, int page, AdvCommand returnToCommand, bool skipPageHeaer) { IsPlaying = true; SkipPageHeaerOnSave = false; //ジャンプ先のシナリオラベルのログを出力 if (ScenarioPlayer.DebugOutputLog) { Debug.Log("Jump : " + label + " :" + page); } //起動時のロード待ち while (Engine.IsLoading) { yield return(null); } //シナリオロード待ち IsLoading = true; while (!Engine.DataManager.IsLoadEndScenarioLabel(label)) { yield return(null); } IsLoading = false; //各データをリセット ResetOnJump(); if (page < 0) { page = 0; } //セーブデータにサブスレッドがある場合に再開 LoadSubThreadSaveData(); //ジャンプ先のシナリオデータを取得 AdvScenarioLabelData currentLabelData = Engine.DataManager.FindScenarioLabelData(label); while (currentLabelData != null) { ScenarioPlayer.UpdateSceneGallery(currentLabelData.ScenarioLabel, Engine); AdvScenarioPageData currentPageData = currentLabelData.GetPageData(page); //ページデータを取得 while (currentPageData != null) { //プリロードを更新 UpdatePreLoadFiles(currentLabelData.ScenarioLabel, page); ///ページ開始処理 if (IsMainThread) { Engine.Page.BeginPage(currentPageData); } //0フレーム即コルーチンが終わる場合を考えてこう書く var pageCoroutine = StartCoroutine(CoStartPage(currentLabelData, currentPageData, returnToCommand, skipPageHeaer)); if (pageCoroutine != null) { yield return(pageCoroutine); } currentCommand = null; returnToCommand = null; skipPageHeaer = false; //ページ終了処理 if (IsMainThread) { Engine.Page.EndPage(); } if (IsBreakCommand) { if (IsMainThread && ScenarioPlayer.IsReservedEndScenario) { ScenarioPlayer.EndScenario(); yield break; } else { if (JumpManager.IsReserved) { JumpToReserved(); yield break; } else { OnEndThread(); yield break; } } } currentPageData = currentLabelData.GetPageData(++page); } //ロード直後処理終了 IfManager.OldSaveDataStart = false; currentLabelData = Engine.DataManager.NextScenarioLabelData(currentLabelData.ScenarioLabel); page = 0; } OnEndThread(); }