public static void entreiPor(List <saidaDeCaverna> verifiqueSaida, Vector3 V)
    {
        int   entreiPelaSaida = 0;
        float ultimaDistancia = Vector3.Distance(verifiqueSaida[0].entrada, V);

        for (int i = 1; i < verifiqueSaida.Count; i++)
        {
            if (Vector3.Distance(verifiqueSaida[i].entrada, V) < ultimaDistancia)
            {
                ultimaDistancia = Vector3.Distance(verifiqueSaida[i].entrada, V);
                entreiPelaSaida = i;
            }
        }



        verifiqueSaida[entreiPelaSaida] =
            new saidaDeCaverna {
            cenaAlvo      = verifiqueSaida[entreiPelaSaida].cenaAlvo,
            posAlvo       = verifiqueSaida[entreiPelaSaida].posAlvo,
            rotacaoAlvo   = verifiqueSaida[entreiPelaSaida].rotacaoAlvo,
            entreiPorAqui = true,
            entrada       = verifiqueSaida[entreiPelaSaida].entrada
        };


        heroi.ondeEntrei = new entreiPor(Application.loadedLevelName, V);
    }
Esempio n. 2
0
    void verificaUsoDeSaida()
    {
        encontros E = GameObject.Find("Terrain").GetComponent <encontros>();

        if (E)
        {
            if (E.saidas.Count > 0)
            {
                saidaDeCaverna S = E.saidas[0];
                for (int i = 0; i < E.saidas.Count; i++)
                {
                    if (E.saidas[i].entreiPorAqui)
                    {
                        S = E.saidas[i];
                    }
                }

                pergaminhoDeSaida pergS = gameObject.AddComponent <pergaminhoDeSaida>();
                pergS.S   = S;
                acaoAtual = "";
                retiraItem(nomeItem, 1, H);
            }
            else
            {
                acaoAtual    = "naoUsar";
                proxAcao     = "naoUsarAberta";
                mensCorrente = textos[9];
            }
        }
        else
        {
            acaoAtual    = "naoUsar";
            proxAcao     = "naoUsarAberta";
            mensCorrente = textos[9];
        }
    }