【Unity】RPGを作るチュートリアルその58 行動を処理するクラスの結合

【Unity】RPGを作るチュートリアルその58 行動を処理するクラスの結合

シンプルなRPGをUnityで作るチュートリアルシリーズの58回目です。

第57回では各行動を処理するクラスのうち、戦闘からの逃走に関する行動を処理するクラスを実装しました。

今回は行動全体を管理するクラスから、各行動を処理するクラスに対する呼び出し部分を作成します。それぞれの行動を処理していた部分をつなげていきましょう。

 

 

制作環境

MacBook Pro 2023 Apple M2 Max

Unity6 (6000.0.30f1) Silicon

 

作業内容と順序

シンプルなRPGを作る上でどんな作業が必要か、どんな順番で作っていくと良さそうか、別ページで検討しました。基本的にこの流れに沿って進めていきます。

 

チュートリアルの一覧

このシリーズ全体の一覧は以下のページにまとめています。

 

前回の内容

前回は各行動を処理するクラスのうち、戦闘からの逃走に関する行動を処理するクラスを実装しました。

 

行動に関する処理の全体像

 

戦闘中の行動処理の概要
戦闘中の行動処理の概要

 

戦闘中の行動処理については、全体の制御を「BattleActionProcessor」で行なって、攻撃や魔法などの個別の行動の処理については、それぞれクラスを追加してそちらで処理させていきます。これらのクラスについては実装が終わったので、「BattleActionProcessor」側から各クラスを制御する部分を作っていきたいと思います。

追加したい部分としては、

  • 各行動処理クラスへの参照用フィールドを追加
  • 各行動処理クラスの初期化処理の追加
  • コマンドに応じた行動処理の追加

です。

 

各行動処理クラスへの参照用フィールドを追加

これまで作成した各行動処理クラスへの参照用フィールドを追加します。これらの参照はInspectorウィンドウからアサインしていきましょう。

 

各行動処理クラスの初期化処理の追加

以前実装したInitializeProcessor()のメソッドで、各行動処理クラスの初期化メソッドを呼び出します。

 

コマンドに応じた行動処理の追加

行動を処理していくProcessAction()のコルーチンにて、コマンドに応じた分岐で、各行動処理のクラスの処理メソッドを呼び出します。

「BattleActionProcessor」では対応するクラスに処理を任せて、実際の処理については個別クラスが担当する、という流れで実装しています。

 

参照のアサイン

参照用フィールドを追加したので、Inspectorウィンドウからアサインしていきましょう。Hierarchyウィンドウで「BattleActionProcessor」のゲームオブジェクトを選択し、Inspectorウィンドウからそれぞれ参照をアサインしていきます。丸ボタンをクリックすると対応するゲームオブジェクトのみが表示されるので選択しやすいかと思います。

参照のアサイン
参照のアサイン

 

これで行動関係の結合は一旦完了しました。あとは、「BattleManager」からコマンド選択に応じて味方の行動を登録し、実際に処理に進む流れを作っていきます。

動作確認については、「BattleManager」からの呼び出し部分ができてから行うのがスムーズそうです。そのため次回確認していきましょう。

 

今回のブランチ

 

まとめ

今回は行動全体を管理するクラスから、各行動を処理するクラスに対する呼び出し部分を作成しました。ちょっと短いですが、「BattleManager」からの呼び出し部分をこの回に入れると長くなりそうだったので、ここで一旦区切りたいと思います。

次回は「BattleManager」からコマンド選択に応じて味方の行動を登録し、実際に処理に進む流れを作っていきます。

     

ゲーム開発の攻略チャートを作りました!

CTA-IMAGE

「ゲームを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!