void AndarNoTabuleiro(int id, PlayerController p) { andando = true; p.GetComponent <DadoPlayer>().numDado = p.GetComponent <DadoPlayer>().numDado + (id * p.GetComponent <DadoPlayer>().direcaoPlayer); atual = p.gameObject; proximaPos = posTab[(p.GetComponent <DadoPlayer>().posAtual + p.GetComponent <DadoPlayer>().direcaoPlayer)]; destino = null; int valor = (p.GetComponent <DadoPlayer>().posAtual + (id * p.GetComponent <DadoPlayer>().direcaoPlayer)); int vetor = posTab.Count - 1; Debug.Log(valor); if (valor >= vetor) { p.GetComponent <DadoPlayer>().dirAux = -1; int resto; resto = vetor - (valor - vetor); Debug.Log(resto); destino = posTab[resto]; } else if (valor <= 0) { p.GetComponent <DadoPlayer>().dirAux = 1; destino = posTab[valor * -1]; } else { destino = posTab[valor]; } }
void ContinueAndando(GameObject a, PosicoesTabuleiro f) { if (andando && Dado.dadoControl.dadoParado) { if (a.GetComponent <DadoPlayer>().posAtual >= posTab.Count - 1) { a.GetComponent <DadoPlayer>().direcaoPlayer = -1; } else if (a.GetComponent <DadoPlayer>().posAtual <= 0) { a.GetComponent <DadoPlayer>().direcaoPlayer = 1; } a.GetComponent <DadoPlayer>().posAtual = proximaPos.id; a.transform.position = Vector3.Lerp(a.transform.position, proximaPos.transform.position, Time.deltaTime * 5); CameraTabuleiro.camTab.FocoNoJogador(atual); if (Vector3.Distance(a.transform.position, proximaPos.transform.position) < 0.2f) { if (proximaPos.transform.position == f.transform.position) { a.GetComponent <DadoPlayer>().direcaoPlayer = a.GetComponent <DadoPlayer>().dirAux; a.GetComponent <DadoPlayer>().posAtual = f.id; proximaPos.ReceberBonus(playerAtual); recebeBonus = true; andando = false; return; } else { proximaPos = posTab[proximaPos.GetComponent <PosicoesTabuleiro>().id + 1 * a.GetComponent <DadoPlayer>().direcaoPlayer]; return; } } } else if (!andando && Dado.dadoControl.dadoParado && comecou && !recebeBonus) { CameraTabuleiro.camTab.FocoNoProximoJogador(pl[playerAtualId].gameObject); } }