internal bool OnCheck() { if (_model.IsThinking) { return(false); } _borderimage.color = BorderHighlight; var moves = _tilemodel.GetMoves().OrderBy(m => m.NewPosition).ToList(); if (moves.Count == 0) { _uimx.StatusText.text = (_tilemodel.PieceName == null) ? String.Format("{0}", _tilemodel.Name) : String.Format("{0} {1} on {2}", _tilemodel.PlayerName, _tilemodel.PieceName, _tilemodel.Name); } else { // in case we want to make this move _previewmove = moves[PickMove(moves.Count)]; LoadPieceImage(PreviewObject, _previewmove.Player, _previewmove.Piece); if (_previewmove.IsDual) { _tilemodel.Board.SetPreview(_previewmove.Player, _previewmove.NewPosition, _previewmove.NewPiece); } _tileimage.color = TileHighlight; _uimx.StatusText.text = _previewmove.Display; return(true); } _tileimage.color = TileNormal; return(false); }