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 SelectCasa(UICasa highlightObject2) { /*if (this.highlightObject2 != null) { * this.highlightObject2.StopHighlight(); * }*/ this.highlightObject2 = highlightObject2; this.highlightObject2.StartHighlight(); }
public void TryMovePiece(UICasa origem, UICasa destino, Tabuleiro tabuleiro) { var movimento = new Movimento(origem: origem.casa, destino: destino.casa); if (Piece.PodePercorrer(movimento, tabuleiro)) { if ((origem.casa.PecaAtual.jDono == tabuleiro.partida.JogadorDaVez())) { MovePiece(origem, destino); tabuleiro.partida.PassarAVez(); } } }
public void TryMove(UICasa origem, UICasa destino) { if (origem == destino) { return; } UIPiece uiPiece = origem.CurrentUIPiece(); if (uiPiece == null) { return; } uiPiece.TryMovePiece(origem, destino, Tabuleiro); }
public void UpdatePositionOnBoard(UITabuleiro uiTabuleiro) { UICasa casa = uiTabuleiro.GetUICasa(Piece.CasaAtual); if (casa == null) { return; } float x, y, z; // Fica nas mesmas coordenadas da casa, mas acima dela. x = casa.transform.position.x; y = casa.transform.position.y + casa.GetComponent <Collider>().bounds.size.y / 2; z = casa.transform.position.z; this.transform.position = new Vector3(x, y, z); }
public void NoSelectCasa(UICasa highlightObject2) { this.highlightObject2.StopHighlight(); }
private void Update() { //if { if (Input.GetMouseButtonDown(0)) { if (!clicked) { //verifica se o menu está ativo SelectColor(); //selecionou a cor } else { if (promovendoPeaoIA) { pAtual = movimentoPromocao.destino.PecaAtual; valorPeca = 1; if (valorPeca != 0) { pUIAtual = pAtual.uiP; pAtual = pAtual.PromoverPeao(movimentoPromocao, valorPeca); pAtual.uiP = pUIAtual; mudaPeca(pAtual); promovendoPeaoIA = false; if (movimentoPromocao.destino.Tabuleiro.partida.Jogador2.Cor == 'b') { movimentoPromocao.destino.PecaAtual.Cor = 'p'; Debug.Log(movimentoPromocao.destino.PecaAtual.Cor); Debug.Log(movimentoPromocao.destino.PecaAtual.Cor); } } } if (promovendoPeao) { pAtual = movimentoPromocao.destino.PecaAtual; valorPeca = SelectPeca(); if (valorPeca != 0) { pUIAtual = pAtual.uiP; pAtual = pAtual.PromoverPeao(movimentoPromocao, valorPeca); pAtual.uiP = pUIAtual; mudaPeca(pAtual); DestroyMenuPromo(); promovendoPeao = false; if (movimentoPromocao.destino.Tabuleiro.partida.Jogador1.Cor == 'p') { movimentoPromocao.destino.PecaAtual.Cor = 'b'; Debug.Log(movimentoPromocao.destino.PecaAtual.Cor); Debug.Log(movimentoPromocao.destino.PecaAtual.Cor); } Tabuleiro.partida.PassarAVez(); } } else { startDrag = GetSpaceUnderMouse(); } } } if (Input.GetMouseButtonUp(0) && startDrag) { UICasa endDrag = GetSpaceUnderMouse(); if (endDrag != null) { TryMove(startDrag, endDrag); } startDrag = null; } } }