/// <summary>
 /// Transit to the next action state
 /// </summary>
 private void TransitToNextActionState(AActionState nextActionState)
 {
     _currentActionState.EndAction(this, _inputInformation);
     _previousActionState = _currentActionState;
     _currentActionState  = nextActionState;
     _currentActionState.BeginAction(this, _inputInformation);
     if (_shouldDisplayTransition)
     {
         Debug.Log(_previousActionState.GetType().Name + " --> " + _currentActionState.GetType().Name, gameObject);
     }
 }