public Tile(int x, int y)
    {
        _position.x = x;
        _position.y = y;

        if (y == 0 || y == 1 || y == 6 || y == 7)
        {
            _currentPiece = GameObject.Find(x.ToString() + " " + y.ToString()).GetComponent <PieceAI>();
        }
    }
Exemple #2
0
    public List <Move> GetMoves(PieceAI piece, Vector2 position)
    {
        _piece    = piece;
        _type     = piece.Type;
        _player   = piece.Player;
        _position = position;

        foreach (KeyValuePair <PieceAI.pieceType, System.Action> p in pieceToFunction)
        {
            if (_type == p.Key)
            {
                p.Value.Invoke();
            }
        }

        return(moves);
    }
Exemple #3
0
    void _UndoFakeMove()
    {
        Move    tempMove    = moveStack.Pop();
        Tile    movedTo     = tempMove.secondPosition;
        Tile    movedFrom   = tempMove.firstPosition;
        PieceAI pieceKilled = tempMove.pieceKilled;
        PieceAI pieceMoved  = tempMove.pieceMoved;

        movedFrom.CurrentPiece = movedTo.CurrentPiece;

        if (pieceKilled != null)
        {
            movedTo.CurrentPiece = pieceKilled;
        }
        else
        {
            movedTo.CurrentPiece = null;
        }
    }
 public void SwapFakePieces(PieceAI newPiece)
 {
     _currentPiece = newPiece;
 }