public override void Undo() { if (executed) { TargetMoveTile.DetachPiece(); TargetCaptureTile.AttachPiece(CapturedPiece); SelectedTile.AttachPiece(Piece, PieceHasMoved); executed = false; } }
public override void Execute() { if (!executed) { SelectedTile.DetachPiece(); TargetCaptureTile.DetachPiece(); TargetMoveTile.AttachPiece(Piece, true); executed = true; } }