public MouseOperationResults MouseClick(SquareItem item) { if (this.IsFigureMoving) { this.IsFigureMoving = false; this.UnHighlightSquares(); if (this.TryFinishMove(item)) { return(MouseOperationResults.MoveFinished); } if (item.FigureType == Figure.Nobody) { return(MouseOperationResults.MoveCanceled); } if (item.FigureColor == this.CurrentPlayerColor) { this.InitFigureMoveBegin(item); } } else { if (item.FigureType == Figure.Nobody) { return(MouseOperationResults.MoveCanceled); } this.InitFigureMoveBegin(item); } return(MouseOperationResults.NewMove); }
private bool TryFinishMove(SquareItem item) { MoveType type; if (!this.IsLegalMoveEnd(item.Square, out type)) { return(false); } this.MoveEnd = item.Square; Move move = new Move(this.moveStart, item.Square, type); this.provider.ProcessMove(move, this.CurrentPlayerColor); return(true); }
public MouseOperationResults MouseUp(SquareItem item) { if (this.IsFigureMoving) { if (item.Square == this.moveStart) { return(MouseOperationResults.NewMove); } this.IsFigureMoving = false; this.UnHighlightSquares(); if (this.TryFinishMove(item)) { return(MouseOperationResults.MoveFinished); } } return(MouseOperationResults.MoveCanceled); }
public void InitFigureMoveBegin(SquareItem item) { this.MoveStart = item.Square; this.IsFigureMoving = true; this.UpdateHighlightedSquares(item.Square, item.FigureColor); }
private bool TryFinishMove(SquareItem item) { MoveType type; if (!this.IsLegalMoveEnd(item.Square, out type)) return false; this.MoveEnd = item.Square; Move move = new Move(this.moveStart, item.Square, type); this.provider.ProcessMove(move, this.CurrentPlayerColor); return true; }
public MouseOperationResults MouseUp(SquareItem item) { if (this.IsFigureMoving) { if (item.Square == this.moveStart) return MouseOperationResults.NewMove; this.IsFigureMoving = false; this.UnHighlightSquares(); if (this.TryFinishMove(item)) return MouseOperationResults.MoveFinished; } return MouseOperationResults.MoveCanceled; }
public MouseOperationResults MouseClick(SquareItem item) { if (this.IsFigureMoving) { this.IsFigureMoving = false; this.UnHighlightSquares(); if (this.TryFinishMove(item)) return MouseOperationResults.MoveFinished; if (item.FigureType == Figure.Nobody) return MouseOperationResults.MoveCanceled; if (item.FigureColor == this.CurrentPlayerColor) this.InitFigureMoveBegin(item); } else { if (item.FigureType == Figure.Nobody) return MouseOperationResults.MoveCanceled; this.InitFigureMoveBegin(item); } return MouseOperationResults.NewMove; }