public void TransitionToState(WadeBoatState newState)
    {
        WadeBoatState tmpInitialState = CurrentWadeBoatState;

        OnStateExit(tmpInitialState, newState);
        CurrentWadeBoatState = newState;
        OnStateEnter(newState, tmpInitialState);
    }
    /// <summary>
    /// Event when entering a state
    /// </summary>
    public void OnStateEnter(WadeBoatState state, WadeBoatState fromState)
    {
        switch (CurrentWadeBoatState)
        {
        case WadeBoatState.Idle:
        {
            break;
        }

        case WadeBoatState.Move:
        {
            break;
        }
        }
    }
 /// <summary>
 /// Event when exiting a state
 /// </summary>
 public void OnStateExit(WadeBoatState state, WadeBoatState toState)
 {
 }