VContainerを触ってみた。その3,注入するInputの変更 (Unity初心者)
前回まで その1 その2 今回 よくあるPlayerの移動のInputの取得方法を分けてPlayerが参照するInputをDIコンテナ側で注入する際に注入するInputクラスを選ぶことでPlayerの移動方法を変える。 ①InputHandlerインターフェイスを作成 public interface IInputHandler { Vector3 GetInputDirection(); } このインターフェイスを継承してGetInputDirectionでそれぞれの入力の違いを出していく。 ②IInputHandlerを継承したクラスを作成 //方向キーでの移動 public class InputFromArrow : IInputHandler { public Vector3 GetInputDirection() { if (Input.GetKey(KeyCode.UpArrow)) return Vector3.up; if (Input.GetKey(KeyCode.LeftArrow)) return Vector3.left; if (Input.GetKey(KeyCode.DownArrow)) return Vector3.down; if (Input.GetKey(KeyCode.RightArrow)) return Vector3.right; return Vector3.zero; } } //WASDでの移動 public class InputFromWASD : IInputHandler { public Vector3 GetInputDirection() { if (Input.GetKey(KeyCode.W)) return Vector3.up; if (Input.GetKey(KeyCode.A)) return Vector3