private bool IsCheckerMoved(CheckerElementViewModel newSelectedChecker, PlayerViewModel player) { var moveValidationManager = new MoveValidationManager(_selectedChecker , newSelectedChecker , NextMoveSide , player , this); MoveValidationResult validationResult = moveValidationManager.GetMoveValidationResult(); if (validationResult.Status == MoveValidationStatus.NewItemSelected) { if (_selectedChecker != null) { _selectedChecker.IsSelected = false; _selectedChecker.DeSelectPossibleMovement(); } _selectedChecker = newSelectedChecker; _selectedChecker.IsSelected = true; _selectedChecker.SelectPossibleMovement(); return(false); } if (validationResult.Status == MoveValidationStatus.DeselectChecker) { _selectedChecker.IsSelected = false; _selectedChecker.DeSelectPossibleMovement(); _selectedChecker = null; return(false); } if (validationResult.Status == MoveValidationStatus.Error) { ShowNotificationMessage(validationResult.ErrorMessage); return(false); } MoveCheckerToNewPlace(_selectedChecker, newSelectedChecker, player); _selectedChecker.IsSelected = false; _selectedChecker = null; return(true); }
public void MoveCheckerToNewPlace(CheckerElementViewModel checker) { CheckerElementViewModel existingPlayerChecker = PlayerPositions.Single(x => x == checker); existingPlayerChecker.DeSelectPossibleMovement(); }