public void SubmitAction(ICombatAction action) { var validationError = action.GetValidationError(_currentTurn); if (validationError != null) { throw new InvalidActionException(validationError); } action.Perform(_currentTurn); }