Ejemplo n.º 1
0
    private void MovePiece(UICasa origem, UICasa destino)
    {
        var movimento = Peca.ValidarMovimento(new Movimento(origem: origem.casa, destino: destino.casa));

        UIPiece captured = null;

        if (destino.casa.PecaAtual != null)
        {
            captured = destino.CurrentUIPiece();
        }
        else if (movimento.pecaCapturada != null)
        {
            var uiTabuleiro = FindObjectOfType <UITabuleiro>();
            captured = uiTabuleiro.GetUICasa(movimento.pecaCapturada.CasaAtual).CurrentUIPiece();
        }

        if (captured != null)
        {
            Destroy(captured.gameObject);
        }

        Piece.RealizaMovimento(movimento);

        VisuallyMove(movimento);
    }
Ejemplo n.º 2
0
    public void TryMove(UICasa origem, UICasa destino)
    {
        if (origem == destino)
        {
            return;
        }

        UIPiece uiPiece = origem.CurrentUIPiece();

        if (uiPiece == null)
        {
            return;
        }

        uiPiece.TryMovePiece(origem, destino, Tabuleiro);
    }