Beispiel #1
0
    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];
        }
    }
Beispiel #2
0
    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);
        }
    }