Пример #1
0
    // Use this for initialization
    void Start()
    {
        salvador.setaMenuPrincipalTutorial(false);
        salvador.tutorialJaVisto(true);

        // turtle -> lion -> cow -> turtle

        // TODO: Deletar quando implementar o substituto -------
        List <int> x = new List <int>(); x.Add(0); x.Add(2); x.Add(4); x.Add(0);

        salvador.SalvarCircuito(x);

        List <string> y = new List <string> (); y.Add("Tartaruga"); y.Add("Rinoceronte"); y.Add("Leão"); y.Add("Hipopotamo"); y.Add("Vaca"); y.Add("Mula");

        salvador.SalvarNomesMarcadores(y);
        // FIM: Deletar quando implementar o substituto ------

        // Checando se existe o circuito
        if (!listaIMTargetScript.ChecaSeExisteOCircuito(salvador.LerCircuito()))
        {
            CircuitoInexistente();
        }
        // FIM: Checando se existe o circuito

        messenger.InsereRect(new Rect(0, 0, Screen.width, Screen.height / 4.0f));
        gerenciadorCircuito.InsereCircuito(salvador.LerCircuito());
        salvador.InsereCamera(cam);

        mascoteGuia.InsereBalaoTexto(balaoMascote);
        mascoteGuia.InsereBalaoFim(balaoFimPontuacao, balaoFimElogio);
        mascoteGuia.InsereEstrelas(estrelasGold, estrelasGray);
        mascoteGuia.InsereNomesMarcadores(salvador.LerNomesMarcadores());

        imDetector = listaIMTargetScript.LerReadTarget(0);

        identificaJeb.InsereImTarget(listaIMTargetScript.Get(0).gameObject);
        identificaJeb.InsereCamera(cam);
        identificaJeb.SetaCantos(
            salvador.leXYZCantos("SEDobrado"),
            salvador.leXYZCantos("IDDobrado"),
            salvador.leXYZCantos("SEEsticado"),
            salvador.leXYZCantos("IDEsticado")
            );

        mascoteGuia.Ativador(true);

        //print (Time.time);

        CanvasInGame.SetActive(true); CanvasFimGame.SetActive(false);
        //DEBUGAPONTOSDECALIBRAGEM ();
        tempoParaMarcadores = Time.time + 2.0f;
        tempoDeJogoIni      = Time.time;
    }
    // Update is called once per frame
    void Update()
    {
        //messenger.messengerTxt = "<color=white>"+Time.time.ToString()+ "\nTempoParaMarcadores: "+tempoParaMarcadores.ToString()+" if- "+teste.ToString()+"</color>";

        if (circuitoImpossivel)
        {
            return;
        }

        if (frisbeGO)
        {
            frisbeScrpt.gameObject.SetActive(imDetector.isFound);
        }

        if (tempoParaMarcadores < Time.time)
        {
            if (gerenciadorCircuito.TemProximo())
            {
                CanvasInGame.SetActive(true); CanvasFimGame.SetActive(false);
                if (ultimoMarcador != gerenciadorCircuito.MarcadorAtual())
                {
                    int       marcadorAct = gerenciadorCircuito.MarcadorAtual();
                    Transform imTarget    = listaIMTargetScript.Get(marcadorAct);
                    //print ("Estamos no marcador no: " + marcadorAct);
                    listaIMTargetScript.AtivaTarget(marcadorAct);
                    mascoteGuia.ApontarMarcador(marcadorAct);
                    imDetector = listaIMTargetScript.LerReadTarget(marcadorAct);
                    identificaJeb.InsereImTarget(imTarget.gameObject);
                    criaFrisbe();
                    atualizaAlvo(imTarget.GetChild(imTarget.childCount - 1).gameObject);
                    ultimoMarcador = marcadorAct;
                }
                if (imDetector.isFound)
                {
                    if (!frisbeScrpt.isTrowed)
                    {
                        frisbeScrpt.Posicionar(identificaJeb.PorcentagemEsticado());
                    }

                    if (identificaJeb.DobrouBraco())
                    {
                        if (identificaJeb.EsticouBraco())
                        {
                            if (identificaJeb.DobrouNovamenteBraco())
                            {
                                frisbeScrpt.Arremessar();
                                gerenciadorCircuito.AvancarPasso();
                                if (!gerenciadorCircuito.TemProximo())
                                {
                                    mascoteGuia.FinalizaPassos();
                                }
                                tempoParaMarcadores = Time.time + 2.0f;
                            }
                            else
                            {
                                mascoteGuia.DobrarBracos();
                            }
                        }
                        else
                        {
                            mascoteGuia.EsticarBracos();
                        }
                    }
                    else
                    {
                        mascoteGuia.DobrarBracos();
                    }
                }
                else
                {
                    mascoteGuia.ApontarMarcador(gerenciadorCircuito.MarcadorAtual());
                }
            }
            else
            {
                if (!estaFinalizado)
                {
                    CanvasInGame.SetActive(false); CanvasFimGame.SetActive(true);
                    //mascoteGuia.FinalizarFase (tempoDeJogoIni, salvador.LeTempoMaximoFase("####FASEATUAL####"));
                    mascoteGuia.FinalizarFase(tempoDeJogoIni, 85.0f);
                    estaFinalizado = true;
                }
            }
        }
        else
        {
            if (gerenciadorCircuito.TemProximo())
            {
                mascoteGuia.AvisaEstagio(gerenciadorCircuito.PassoAtual() + 1, gerenciadorCircuito.PassoMaximo());
            }
        }
    }