private void OnSquareSelected(object obj) { var square = obj as IChessSquareViewModel; if (square == null) { return; } if (_gameTable.CurrentPlayer.IsAutomatic) { return; } _gameTable.ParseInput(square.Position); RedrawTable(); }
public void Act(IGameTable gameTable) { _gameTable = gameTable; var result = Gateway.GenerateMove(gameTable.GetFen(), gameTable.Difficulty); var fromPosition = new Position(result.FromRank, result.FromFile); var toPosition = new Position(result.ToRank, result.ToFile); var promotedTo = result.PromotedTo; _gameTable.SetSelectedPiece(fromPosition); _gameTable.ParseInput(toPosition); if (promotedTo != ' ') { _gameTable.GetPieces().First(p => p.CurrentPosition == toPosition).Type = Helper.GetType(promotedTo); } _eventAggregator.GetEvent <RefreshTableEvent>().Publish(gameTable); }