private void Start() { input = new PlayerInput(); movementPlane = new Plane(Vector3.up, transform.position); playerMovement = GetComponent <PlayerMovement>(); fpsController = GetComponent <FirstPersonShooter>(); }
public IEnumerator UpdateShouldRotateCameraAroundTheXAxisWhenMouseMovesAlongTheYAxis() { GameObject cameraGameObject = new GameObject("Camera"); CameraController cameraController = cameraGameObject.AddComponent <CameraController>(); IPlayerMovementInput playerInput = Substitute.For <IPlayerMovementInput>(); playerInput.GetAxis("Mouse Y").Returns(1); playerInput.GetDeltaTime().Returns(1); cameraController._playerInput = playerInput; Assert.AreEqual(0, cameraGameObject.transform.rotation.x, 0.1f); yield return(null); Assert.AreEqual(-0.7, cameraGameObject.transform.rotation.x, 0.1f); }
public IEnumerator UpdateShouldApplyGrowingGravitationForceVectorOnPlayerWhenFalling() { GameObject playerGameObject = new GameObject("Player"); PlayerController playerController = playerGameObject.AddComponent <PlayerController>(); CharacterController characterController = playerGameObject.AddComponent <CharacterController>(); IPlayerMovementInput playerMovementInput = Substitute.For <IPlayerMovementInput>(); playerMovementInput.GetDeltaTime().Returns(1); playerController._playerMovementInput = playerMovementInput; playerController.characterController = characterController; yield return(null); Assert.AreEqual(-14f, playerGameObject.transform.position.y); yield return(null); Assert.AreEqual(-42f, playerGameObject.transform.position.y); }
public IEnumerator UpdateShouldMovePlayerAlongXForHorizontalInput() { GameObject playerGameObject = new GameObject("Player"); PlayerController playerController = playerGameObject.AddComponent <PlayerController>(); CharacterController characterController = playerGameObject.AddComponent <CharacterController>(); IPlayerMovementInput playerMovementInput = Substitute.For <IPlayerMovementInput>(); playerMovementInput.GetAxis("Horizontal").Returns(1); playerMovementInput.GetDeltaTime().Returns(1); playerController._playerMovementInput = playerMovementInput; playerController.characterController = characterController; Assert.AreEqual(0, playerGameObject.transform.position.x); yield return(null); Assert.AreEqual(12f, playerGameObject.transform.position.x); }
public IEnumerator UpdateShouldRotatePlayerAroundTheYAxisWhenMouseMovesAlongTheXAxis() { GameObject playerGameObject = new GameObject("Player"); PlayerController playerController = playerGameObject.AddComponent <PlayerController>(); CharacterController characterController = playerGameObject.AddComponent <CharacterController>(); IPlayerMovementInput playerMovementInput = Substitute.For <IPlayerMovementInput>(); playerMovementInput.GetAxis("Mouse X").Returns(1); playerMovementInput.GetDeltaTime().Returns(1); playerController._playerMovementInput = playerMovementInput; playerController.characterController = characterController; Assert.AreEqual(0, playerGameObject.transform.rotation.y); yield return(null); Assert.AreEqual(0.8, playerGameObject.transform.rotation.y, 0.1f); }
public void Construct(IPlayerMovementInput playerInput) { _playerInput = playerInput; }
/******* Monobehavior Methods *******/ private void Awake() { _characterController = GetComponent <CharacterController>(); _input = GetComponent <IPlayerMovementInput>(); }