Example #1
0
    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);
    }