IEnumerator CoStartScenario(string label, int page) { while (IsWaitBootLoading) { yield return(null); } while (GraphicManager.IsLoading) { yield return(null); } while (SoundManager.IsLoading) { yield return(null); } if (UiManager != null) { UiManager.Open(); } if (label.Length > 1 && label[0] == '*') { label = label.Substring(1); } ScenarioPlayer.StartScenario(label, page); }
public void Play(ScenarioPlayer player, IScenarioNode parent) { if (isFirst) { isFirst = false; player.StartNewText(Say.ToTextType(parent.GetAttribute("class").Value), parent.GetAttribute("name").Value); } while (true) { if (nextPlayTime > player.Now) { return; } nowLength++; if (text.Length < nowLength) { isPlayed = true; return; } player.AddText(text.Substring(nowLength - 1, 1)); nextPlayTime = player.Now + delay; } }
public void execute(ScenarioPlayer player, Action <ScenarioCharacter> appender, Action <ScenarioCharacter> remover) { remover(character); appender(character); isPlayed = true; }
public void Play(ScenarioPlayer player, IScenarioNode parent) { if (startPlayTime < 0.0f) { player.StartNewText(Say.ToTextType(parent.GetAttribute("class").Value), parent.GetAttribute("name").Value); startPlayTime = player.Now; player.AddText(text); } float deltaTime = player.Now - startPlayTime; if (delay <= 0.0f) { player.SetOpacity(1.0f); } else { player.SetOpacity((deltaTime) / delay); } if (deltaTime >= delay) { // 再生完了 isPlayed = true; return; } }
//ゲームの開始、終了、ロード時などのクリア処理 void ClearSub(bool isStopSound) { Page.Clear(); SelectionManager.Clear(); BacklogManager.Clear(); GraphicManager.Clear(); GraphicManager.gameObject.SetActive(true); if (UiManager != null) { UiManager.Close(); } ClearCustomCommand(); ScenarioPlayer.Clear(); if (isStopSound && SoundManager != null) { SoundManager.StopBgm(); SoundManager.StopAmbience(); } if (MessageWindowManager == null) { Debug.LogError("MessageWindowManager is Missing"); } SaveManager.GetSaveIoListCreateIfMissing(this).ForEach(x => ((IAdvSaveData)x).OnClear()); SaveManager.CustomSaveDataIOList.ForEach(x => ((IAdvSaveData)x).OnClear()); OnClear.Invoke(this); }
void StartScenario(string label, int page, string gallerySceneLabel) { if (UiManager != null) { UiManager.Open(); } ScenarioPlayer.StartScenario(this, label, page, gallerySceneLabel); }
/// <summary> /// シナリオを再開 /// </summary> public bool ResumeScenario() { if (!ScenarioPlayer.IsPausing) { return(false); } else { ScenarioPlayer.Resume(); return(true); } }
//コマンドスレッド終了 void OnEndThread() { IsPlaying = false; if (IsMainThread) { ScenarioPlayer.EndScenario(); } else { Destroy(this); } }
private void playFirstBefore(ScenarioPlayer player, IScenarioNode parent) { player.ClearText(); if (parent.GetAttribute("isWaitClick").Value == "false") { isWaitClick = false; } // TODO文字列長計算したりとか now = parent.GetChildren().First(); SingleTouchController.OnTouch += onTouch; }
/// <summary> /// 指定のラベルにシナリオジャンプ /// </summary> /// <param name="label">ジャンプ先のラベル</param> public void JumpScenario(string label) { if (ScenarioPlayer.MainThread.IsPlaying) { if (ScenarioPlayer.IsPausing) { ScenarioPlayer.Resume(); } ScenarioPlayer.MainThread.JumpManager.RegistoreLabel(label); } else { StartScenario(label, 0); } }
public void Clear() { Page.Clear(); SelectionManager.Clear(); BacklogManager.Clear(); GraphicManager.Clear(); TransitionManager.Clear(); if (UiManager != null) { UiManager.Close(); } SoundManager.StopBgm(); SoundManager.StopAmbience(); ClearCustomCommand(); ScenarioPlayer.Clear(); }
public void Play(ScenarioPlayer player, IScenarioNode parent) { // 再生完了している(親から呼ばれないはずなので必要ないきもする if (IsPlayed(parent)) { return; } if (now == null) { playFirstBefore(player, parent); } if (now.GetExecutor() == null || now.GetExecutor().IsPlayed(now)) { // 再生完了 nowIndex++; try { now = parent.GetChild(nowIndex); } catch (System.ArgumentOutOfRangeException) { // 多分終わり if (isWaitClick) { nowState = State.WaitNext; } else { nowState = State.Next; } return; } } if (now.GetExecutor() == null) { return; } now.GetExecutor().Play(player, parent); }
IEnumerator CoStartSaveData(AdvSaveData saveData) { while (IsWaitBootLoading) { yield return(null); } while (GraphicManager.IsLoading) { yield return(null); } while (SoundManager.IsLoading) { yield return(null); } if (UiManager != null) { UiManager.Open(); } yield return(ScenarioPlayer.CoStartSaveData(saveData)); }
IEnumerator CoStartScenario(string label, int page, string gallerySceneLabel) { while (IsWaitBootLoading) { yield return(0); } while (GraphicManager.IsLoading) { yield return(0); } while (SoundManager.IsLoading) { yield return(0); } // yield return 0; if (UiManager != null) { UiManager.Open(); } ScenarioPlayer.StartScenario(label, page, gallerySceneLabel); }
private void StartAutomation(string path) { StreamReader sr = new StreamReader(path); string scenario = sr.ReadToEnd(); System.Diagnostics.Debug.WriteLine("========================================"); System.Diagnostics.Debug.WriteLine(scenario); StringReader stringReader = new StringReader(txtVariables.Text); string paramLine = null; while ((paramLine = stringReader.ReadLine()) != null) { string[] param = paramLine.Split(':'); scenario = scenario.Replace(param[0], param[1]); } System.Diagnostics.Debug.WriteLine("========================================"); System.Diagnostics.Debug.WriteLine(scenario); ScenarioPlayer player = new ScenarioPlayer(scenario); player.Play(); }
/// <summary> /// シナリオ終了 /// </summary> public void EndScenario() { ScenarioPlayer.EndScenario(); }
public override void Process(ScenarioPlayer player) => player.SetHeldCard(this.cardCount, DevelopmentCardTypes.RoadBuilding);
public void Play(ScenarioPlayer player, IScenarioNode parent) { player.AddText(System.Environment.NewLine); isPlayed = true; }
public override void Process(ScenarioPlayer player) => player.SetHeldCard(this.cardCount, DevelopmentCardTypes.YearOfPlenty);
/// <summary> /// シナリオ終了 /// </summary> public void EndScenario() { ScenarioPlayer.EndScenario(); isWaitBootLoading = true; }
public void Play(ScenarioPlayer player, IScenarioNode parent) { throw new NotImplementedException(); }
/// <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(); }
public void Play(ScenarioPlayer player, IScenarioNode parent) { effectable.execute(player, player.AddCenterSide, player.RemoveCenterSide); }
public void Play(ScenarioPlayer player, IScenarioNode parent) { effectable.Play(player, parent); }