/* * IMoveChooser Methods */ public Move getMove(DealState currentDealState, List<Move> legalMoves, Card[] cards) { return (Move)MainGrid.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new ReturnDelegate(delegate(List<Move> movesOptions) { Move myMove = null; MoveDialogBox moveChoiceBox = new MoveDialogBox(legalMoves); moveChoiceBox.Owner = this; moveChoiceBox.ShowDialog(); if (moveChoiceBox.DialogResult == true) { myMove = moveChoiceBox.moveChoice; } else { new Exception("User did not select move."); } return myMove; }), legalMoves); }