private void RefreshMoveOptions()
{
int pieceID = -1;
switch (selEvent.CurrentType)
{
case PlayerSelectionEvent.SelectionType.Piece:
pieceID = selEvent.PieceID;
break;
case PlayerSelectionEvent.SelectionType.Square:
pieceID = board.PieceOnSpace(selEvent.SquarePos);
break;
}
if (pieceID >= 0 && pieceID != chosenPiece.Value)
{
Piece piece = board.Pieces[pieceID];
TurnOptions calculatedOptions = moveOptionCalculator.Send(new TurnOptionCalculatorArgs()
{
pieceIndex = pieceID,
luaState = LuaTranslator.GetMoveCalcState(pieceID, board, db),
});
displayMessage.Send(compiler.Send(new ActionIndicatorPatternCompileArgs()
{
options = calculatedOptions,
highlightedIndex = -1,
mouseOverMode = true,
}));
}
else
{
displayMessage.Send(null);
}
}