public void Select() { PieceSelected?.Invoke(this, EventArgs.Empty); if (legalActions == null) { legalActions = gm.LegalActions.Where(a => a.From == Position).ToList(); List <GameAction> filteredActions = legalActions.GroupBy(m => m.To).Select(g => g.First()).ToList(); suggestedActions = new Dictionary <Rectangle, GameAction>(); foreach (GameAction action in filteredActions) { Rectangle rect = new Rectangle(); suggestedActions[rect] = action; rect.Width = gm.SquareSize; rect.Height = gm.SquareSize; SolidColorBrush brush = new SolidColorBrush(Color.FromRgb(255, 241, 145)); brush.Opacity = 0.5; rect.Fill = brush; Point loc = gm.GetLocationOfPos(action.To); Canvas.SetLeft(rect, loc.X); Canvas.SetTop(rect, loc.Y); Canvas.SetZIndex(rect, 6); rect.Cursor = Cursors.Hand; rect.MouseUp += SuggestedAction_MouseUp; boardCanvas.Children.Add(rect); } } }
public void PieceSelect(Point piece, List <MoveOption> options) { PieceSelected?.Invoke(piece, options); }
public void QueenSelected() { PieceSelected?.Invoke(typeof(Queen)); Close(); }
public void RookSelected() { PieceSelected?.Invoke(typeof(Rook)); Close(); }
public void BishopSelected() { PieceSelected?.Invoke(typeof(Bishop)); Close(); }
public void KnightSelected() { PieceSelected?.Invoke(typeof(Knight)); Close(); }