// Update is called once per frame
    void Update()
    {
        // Get input vector
        // Give input to your state
        var newState = state.Update(underwater);

        if (newState != null)
        {
            Debug.Log("Transitioning to " + newState);
            state = newState;
        }

        animationManager.UpdateMovementParams(state.GetCurrentLateralTurnSpeed(), state.GetCurrentVerticalTurnSpeed(), 0, underwater, false);
        cameraController.UpdateMovementParameters(state.GetCurrentVelocity().magnitude / 15, 0);
    }