Пример #1
0
        private void Tile_Click(object sender, RoutedEventArgs e)
        {
            if (!(sender is VisualChessTile))
            {
                throw new ArgumentException();
            }
            var tile = sender as VisualChessTile;

            if (SelectedTile == null && tile.Piece != null)
            {
                SelectTile(tile);
            }
            else if (SelectedTile != null && MoveDictionary.ContainsKey(tile))
            {
                ExecuteMove(tile);
            }
            else if (SelectedTile != null)
            {
                SelectedTile.Deselect();
                SelectedTile = null;
                foreach (var t in MoveDictionary.Keys)
                {
                    t.Deselect();
                }
                MoveDictionary.Clear();
            }
        }