/// <summary> /// StoryCanbasにマス目の内容を表示させるメソッド /// </summary> /// <param name="story">マス目の内容</param> /// <param name="activePlayer">アクティブプレイヤ</param> public void Show(StoryList story, Player activePlayer) { //StoryCanvasを表示させる canvas.SetActive(true); //テキスト表示をスタートさせるフラグを立てる isTextEnd = false; if (firstShow) { image.sprite = first; firstShow = false; } else { image.sprite = help; } //ストーリーの内容を取得する var storyDelegate = storyContents.ReturnContents(story); var storyStr = storyDelegate(activePlayer); if (story == StoryList.callbattle) { return; } //ストーリーの内容をテキスト表示させる StartCoroutine(ShowTextFiled.ShowStorys(storyStr, text, Hide)); }
/// <summary> /// 選択された行動を基に、敵とバトルをするコルーチン /// </summary> /// <returns></returns> IEnumerator Fighting() { { //早いほうに攻撃させ、遅いほうに防御させる //バトル結果の文字列と、終了のフラグを受け取る (var battleStr, var isEnd) = Direct(battlers[0], battlers[1]); //文字を画面に出力 isTextCoroutineRunning = true; var battleStrArray = battleStr.ToArray(); StartCoroutine(ShowTextFiled.ShowStorys(battleStrArray, text, JugdeIsCoroutineFinish)); //文字表示終了待ち yield return(new WaitUntil(() => !isTextCoroutineRunning)); //もし戦闘が終わっているのならループ終了 if (isEnd) { Hide(); } //遅いほうに攻撃させ、早いほうに防御させる //バトル結果の文字列と、終了のフラグを受け取る (battleStr, isEnd) = Direct(battlers[1], battlers[0]); //文字を画面に出力 isTextCoroutineRunning = true; battleStrArray = battleStr.ToArray(); StartCoroutine(ShowTextFiled.ShowStorys(battleStrArray, text, JugdeIsCoroutineFinish)); //文字表示終了待ち yield return(new WaitUntil(() => !isTextCoroutineRunning)); //もし戦闘が終わっているのならループ終了 if (isEnd) { Hide(); } } text.text = "どうしますか?"; buttons.SetActive(true); }