/// <summary> /// 再生するシナリオを準備 /// </summary> private void ProcScenarioData(int nextScenarioNo) { // 現在のシナリオ番号を次のシナリオ番号に更新 currentScenarioNo = nextScenarioNo; // currentScenarioNoと合致するシナリオをシナリオデータから検索して、再生するシナリオを決定 ScenarioMasterData.ScenarioData scenarioData = GameData.instance.scenarioSO.scenarioMasterData.scenario.Find(x => x.scenarioNo == currentScenarioNo); // 文字送りをするクラスにシナリオをセットして、メッセージを再生する(該当するメソッドを次の手順で追加するので、それまでこの処理はコメントアウトしておきます) textMessageViewer.SetUpScenarioData(scenarioData); }
/// <summary> /// シナリオのメッセージや分岐などを設定 /// </summary> /// <param name="scenarioData"></param> public void SetUpScenarioData(ScenarioMasterData.ScenarioData scenarioData) { Debug.Log("シナリオ番号 : " + scenarioData.scenarioNo + "のシナリオデータをセット"); // シナリオの各データを準備 messages = new string[scenarioData.messages.Length]; messages = scenarioData.messages; charaTypes = new CHARA_NAME_TYPE[scenarioData.charaTypes.Length]; charaTypes = scenarioData.charaTypes; branchs = new int[scenarioData.branchs.Length]; branchs = scenarioData.branchs; displayCharas = new Dictionary <int, CHARA_NAME_TYPE[]>(scenarioData.displayCharas); //再生するBGMを設定 bgmNo = scenarioData.bgmNo; //取得した番号のBGMを再生 SoundManager.Instance.PlayBGM((SoundManager.BGM_Type)bgmNo); //分岐用のメッセージを設定 branchMessages = new string[scenarioData.branchMessages.Length]; branchMessages = scenarioData.branchMessages; // 初期化 messagesIndex = 0; isDisplayedAllMessage = false; //シナリオの背景を設定 imgBackground.sprite = Resources.Load <Sprite>("BackGround/" + scenarioData.backgroundImageNo); // 1文字ずつメッセージ表示を開始 StartCoroutine(DisplayMessage()); Debug.Log("シナリオ 再生開始"); }