敵キャラのコマンドのあとに呼び出すメソッド
敵キャラの行動(スキルの使用)が終わったら次のターンに進みます。次のターンに進むNextTurnメソッドを作成します。
このメソッドでさらにHeroTurnメソッドを呼び出します。
NextTurnメソッドでは、食料の減少と主人公と敵キャラのguardを0fでリセットする処理も入れておきます。
BattleDirector.cs
private void NextTurn() { GameManager.instance.PlayRecord.DungeonStatus.Food--; heroStatus.Guard = 0f; enemyStatus.Guard = 0f; HeroTurn(); }
敵キャラのコマンドを実行する
主人公のコマンドのあとに呼びされるEnemyTurnメソッドで敵キャラのコマンドを実行しますが、すぐに処理するとテンポが速すぎるのでコルーチンを使って待機時間のあとに処理するようにします。
BattleDirector.cs
敵キャラがスキルを使ったあとは、NextTurnメソッドを呼び出すようにします。
private void EnemyTurn() { StartCoroutine(EnemyCommand()); IEnumerator EnemyCommand() { yield return new WaitForSeconds(0.5f); SkillParams skill = GameManager.instance.SkillData.GetSkillEnemy("ATTACK"); skillDirector.SetSkill(skill, enemyStatus, heroStatus, NextTurn); } }
スキルデータの取得はGetSkillEnemyメソッドです。あと、使用者がenemyStatus、対象者がheroStatusです。
コピペとかすると間違えやすいので気をつけましょう。
これで、敵キャラの攻撃、主人公の防御、回復のコマンドを確認できるようになりました。