public void PerformAction(Action action) { switch (action) { case Action.IDLE: { ResetController(); break; } case Action.MOVE_LEFT: { MoveTowardsDirection(-1); break; } case Action.MOVE_RIGHT: { MoveTowardsDirection(1); break; } case Action.MOVE_FORWARD: { MoveTowardsDirection(goals.GetForwardDirection()); break; } case Action.CHANGE_DIRECTION: { goals.ToggleForwardDirection(); break; } case Action.AIM_TARGET: { AimAtPoint(goals.GetTargetPosition()); break; } case Action.RELEASE_FIRE_TARGET: { ReleaseFireAtPoint(goals.GetTargetPosition()); break; } case Action.JUMP: { TapJump(); break; } case Action.PRESS_JUMP: { PressJump(); break; } case Action.RELEASE_JUMP: { ReleaseJump(); break; } case Action.FIRE: { virtualController.TapFire(); break; } case Action.PRESS_FIRE: { PressFire(); break; } case Action.RELEASE_FIRE: { virtualController.ReleaseFire(); break; } case Action.PICK_RANDOM_ROSE_DIRECTION: { goals.PickRandomRoseDirection(); break; } case Action.PICK_RANDOM_ROSE_DIRECTION_TOWARDS_TARGET: { goals.PickRandomRoseDirection(); Vector3 targetPosition = goals.GetTargetPosition(); bool towardsTarget = false; if (targetPosition != null) { while (towardsTarget == false) { goals.PickRandomRoseDirection(); AimRoseDirection(); Vector3 vecToTarget = targetPosition - this.transform.position; if (Mathf.Sign(virtualController.GetHorAxis()) == Mathf.Sign(vecToTarget.x)) { towardsTarget = true; } if (Mathf.Sign(virtualController.GetVertAxis()) == Mathf.Sign(vecToTarget.y)) { towardsTarget = true; } } } break; } case Action.MOVE_ROSE_DIRECTION: { AimRoseDirection(); break; } default: ResetController(); break; } }
void VerticalInput() { vertAxis = virtualController.GetVertAxis(); }