プレイヤー側の操作周りの実装を行います。新しく3つのクラスを作成していきます。
クラス名はこの通りである必要はありません。その場合、クラスの役割に合った名前にしてください。
<今回実装するクラス>
◇ PlayerController プレイヤーの情報を管理するクラス。体力や弾数などを管理し、外部のクラスに情報提供するクラス。リロード処理、敵の攻撃の当たり判定なども管理する
カメラのゲームオブジェクト(AR Camera、あるいは Main Camera ゲームオブジェクト)にアタッチする
・ EffectManager エフェクトの管理を行うクラス。Create Empty で新しいゲームオブジェクトを作成し、そこにアタッチする
シングルトンで作成し、どのクラスからでもアクセスしやすい状態にする。エフェクトなどは個別のゲームオブジェクトに持たせないようにし、管理を簡便化できる
・ RayController 画面のタップ処理(マウスの左クリック)を判定し、Physics.Raycast メソッドを活用して、弾が発射できるかを管理制御するクラス
PlayerController から弾数の情報を提供してもらい、PlayerController の弾数の値を更新したり、リロードさせる命令をだす
カメラの子オブジェクトとして Create Empty で新しいゲームオブジェクトを作成し、そこにアタッチする
<完成時のヒエラルキー画像>
これらがすべて完成することにより、プレイヤーの攻撃の処理が実装されます。
イベント側(敵やアイテムなど)の実装がまだ済んでいないため、その手前までを Debug.Log メソッドを活用して実装し、
それらの実装が終了してから、再度修正を加えて完成に近づけていくようにします。