public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            BoardPosition      pos    = (BoardPosition)values[0];
            ChessPiecePosition piece  = (ChessPiecePosition)values[1];
            bool           isSelected = (bool)values[2];
            bool           isHovered  = (bool)values[3];
            ChessViewModel viewModel  = (ChessViewModel)values[4];

            if (viewModel.SelectedSquare != null && isHovered)
            {
                return(RED_BRUSH);
            }

            if (isSelected)
            {
                return(RED_BRUSH);
            }

            if (isHovered)
            {
                return(GREEN_BRUSH);
            }

            if (viewModel.IsCheck && piece.Player == viewModel.CurrentPlayer && piece.PieceType == ChessPieceType.King)
            {
                return(YELLOW_BRUSH);
            }

            if ((pos.Row + pos.Col) % 2 == 0)
            {
                return(PATTERN_ONE);
            }
            else
            {
                return(PATTERN_TWO);
            }
        }
 public PawnPromotionDialog(ChessViewModel model)
 {
     InitializeComponent();
     DataContext = this;
     _model      = model;
 }
示例#3
0
 public ChessPawnPromoteBlack(ChessViewModel vm)
 {
     InitializeComponent();
     this.Resources.Add("cvm", vm);
     LastMove = vm.LastMove;
 }