/// <summary> /// Performs action on start of the move. /// </summary> /// <param name="scheme">Scheme of the tile.</param> /// <param name="color">Color of the player making the move.</param> private void MoveStart(TileScheme scheme, PlayerColor color) { CurrentTileRectangle.SetLayout(scheme, TileOrientation.N); // If player was not on move and now he is if (CurrentOnMove != PlayerColor && PlayerColor == color) { // Clicking enabled on empty places foreach (var r in EmptyTiles.Values) { r.MouseEventEnabled = true; r.Visibility = Visibility.Visible; } } // Else if player was on move and now he is not else if (CurrentOnMove == PlayerColor && PlayerColor != color) { PassMoveBtn.IsEnabled = false; if (PlacedTiles.TryGetValue(CurrentCoords, out TileRectangle currentTile)) { currentTile.RegionMouseEventEnabled = false; } foreach (var c in PlacedFollowerPositions) { PlacedTiles[c].FollowerMouseEventEnabled = false; } } // Set on move foreach (var pair in PlayerScoreRecords) { pair.Value.OnMove = (pair.Key == color); } CurrentOnMove = color; CurrentScheme = scheme; }
private void RotateRightBtnClick(object sender, RoutedEventArgs e) { CurrentTileRectangle.RotateLayout(TileOrientation.E); }