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); }
public void TryMove(UICasa origem, UICasa destino) { if (origem == destino) { return; } UIPiece uiPiece = origem.CurrentUIPiece(); if (uiPiece == null) { return; } uiPiece.TryMovePiece(origem, destino, Tabuleiro); }