Example #1
0
    IEnumerator voltaDoPretoMorte(pretoMorte p)
    {
        yield return(new WaitForSeconds(2));

        transform.position       = posicoesDeCamera[7].position;
        transform.rotation       = posicoesDeCamera[7].rotation;
        CoreanTransform.position = new melhoraPos().novaPos(posicoesDeCamera[8].position);
        CoreanTransform.rotation = Quaternion.LookRotation(Vector3.left);
        CaesarNavMesh.enabled    = false;
        CaesarTransform.position = new melhoraPos().novaPos(posicoesDeCamera[8].position - Vector3.right);
        CaesarTransform.rotation = Quaternion.LookRotation(Vector3.left);
        fase = faseDaEntrada.giraProGlark;
        animatorDoCorean.SetFloat("velocidade", 0.5f);
        animatorDoCaesar.SetFloat("velocidade", 0.5f);
        CaesarNavMesh.enabled = true;
        yield return(new WaitForSeconds(0.5f));

        p.entrando = false;

        yield return(new WaitForSeconds(1));

        animatorDoCorean.SetFloat("velocidade", 0f);
        animatorDoCaesar.SetFloat("velocidade", 0f);

        fase = faseDaEntrada.encontroComGlark;

        if (!mens)
        {
            gameObject.AddComponent <mensagemBasica>();
        }
        mens.entrando = true;
        mens.mensagem = essaConversa[23];
        mensagemAtual = 23;
        mens.title    = "\t \t Cesar Corean";
    }
Example #2
0
    public void faseAteOEncontro()
    {
        if (fase == faseDaEntrada.comOCriature)
        {
            fase = faseDaEntrada.ateOEncontro;
        }

        mens.entrando             = true;
        CaesarNavMesh.destination = posicoesNavMesh[4].position;
        variaveisChave.shift["alternaParaCriature"] = true;
    }
Example #3
0
 public void IniciaConversa2()
 {
     fase        = faseDaEntrada.iniciaConversa2;
     mB.enabled  = false;
     cam.enabled = false;
     mB.pararOHeroi();
     CoreanTransform.position = posicoesDeCamera[4].position;
     mudaParent(posicoesDeCamera[5]);
     tuto.entrando = false;
     variaveisChave.shift["alternaParaCriature"] = false;
 }
Example #4
0
 void destinacao(int i)
 {
     if (i < 3)
     {
         CaesarNavMesh.destination   = posicoesNavMesh[i].position;
         HooliganNavMesh.destination = posicoesNavMesh[i].position;
         LutzNavMesh.destination     = posicoesNavMesh[i].position;
     }
     else
     {
         fase = faseDaEntrada.estadoNulo;
     }
 }
Example #5
0
    IEnumerator pretoMorteVoltaFInal()
    {
        yield return(new WaitForSeconds(1.5f));

        p.entrando               = false;
        contadorDeTempo          = 0;
        fase                     = faseDaEntrada.QuedaFinal;
        transform.position       = posicoesDeCamera[10].position;
        transform.rotation       = posicoesDeCamera[10].rotation;
        CaesarTransform.position = transform.position + 25 * Vector3.up;
        CoreanTransform.position = transform.position + 25 * Vector3.up + 3 * Vector3.right;
        pedrasFInais.position    = transform.position + 35 * Vector3.up;
    }
Example #6
0
 void faseDoEnviaCriature()
 {
     mensagemAtual = 21;
     mens.mensagem = essaConversa[21];
     fase          = faseDaEntrada.enviaCriature;
     H             = CoreanTransform.gameObject.AddComponent <heroi>();
     tuto.H        = H;
     H.limpaTodasAsVariaveis();
     H.criaturesAtivos.Add(new cCriature(nomesCriatures.FelixCat, 20).criature());
     aE                       = gameObject.AddComponent <animaEnvia>();
     aE.posCriature           = CoreanTransform.position - transform.forward * 3;
     CoreanTransform.rotation = Quaternion.LookRotation(Vector3.right);
     aE.oInstanciado          = nomesCriatures.FelixCat;
     animatorDoCorean.SetBool("chama", true);
 }
Example #7
0
 public void habilitaAlternador()
 {
     H.itens.AddRange(new item[5] {
         new item(nomeIDitem.aguaTonica),
         new item(nomeIDitem.gasolina),
         new item(nomeIDitem.regador),
         new item(nomeIDitem.maca),
         new item(nomeIDitem.cartaLuva)
     });
     H.itens[3].estoque = 10;
     H.itens[0].estoque = 3;
     H.itens[2].estoque = 2;
     variaveisChave.shift["HUDItens"] = false;
     fase = faseDaEntrada.habilitaAlternador;
 }
Example #8
0
 void assumaOControle()
 {
     HooliganNavMesh.enabled = true;
     animatorDoHooligan.Play("padrao", 0);
     destinacao(0);
     fase = faseDaEntrada.assumindoOControle;
     //mens.entrando = false;
     transform.parent       = null;
     animatorDoCorean.speed = 1;
     cam  = CoreanTransform.gameObject.AddComponent <cameraPrincipal>();
     mB   = CoreanTransform.gameObject.AddComponent <movimentoBasico>();
     tuto = GetComponent <Tutorial>();
     tuto.Iniciou();
     tuto.ePlus = this;
     //Tutorial tuto = gameObject.AddComponent<Tutorial>();
 }
Example #9
0
    void issoAi()
    {
        fase = faseDaEntrada.estadoNulo;
        Destroy(HooliganTransform.gameObject);
        Destroy(LutzTransform.gameObject);
        H      = CoreanTransform.gameObject.AddComponent <heroi>();
        tuto.H = H;
        H.limpaTodasAsVariaveis();
        H.criaturesAtivos.Add(new cCriature(nomesCriatures.FelixCat, 20).criature());
        H.criaturesAtivos.Add(new cCriature(nomesCriatures.Vampire, 20).criature());
        CaesarNavMesh.Stop();
        //GameObject.Find("encontreEle").SetActive(false);

        Invoke("adicionaEle", 0.25f);
        CaesarTransform.position = new melhoraPos().novaPos(CoreanTransform.position + Vector3.right, 1);
    }
Example #10
0
    void Start()
    {
        string[] verdadeiros = new string[5] {
            "adiciona O Criature",
            "HUDItens",
            "HUDCriatures",
            "alternaParaCriature",
            "TrocaGolpes"
        };

        foreach (string i in verdadeiros)
        {
            variaveisChave.shift[i] = true;
        }

        transform.parent        = posicoesDeCamera[0];
        transform.localPosition = Vector3.zero;
        transform.localRotation = Quaternion.identity;
        animatorDoCaesar        = CaesarTransform.GetComponent <Animator>();
        animatorDoLutz          = LutzTransform.GetComponent <Animator>();
        animatorDoCorean        = CoreanTransform.GetComponent <Animator>();
        animatorDoHooligan      = HooliganTransform.GetComponent <Animator>();

        fase = faseDaEntrada.jogoDeCameraInicial;
        //fase = faseDaEntrada.assumindoOControle;


        essaConversa = bancoDeTextos.falacoes[heroi.lingua]["entradinhaPlus"].ToArray();

        mens          = gameObject.AddComponent <mensagemBasica>();
        mens.entrando = false;
        mens.mensagem = essaConversa[0];
        mensagemAtual = 0;
        mens.skin     = skin;
        mens.posY     = 0.68f;
        mens.title    = "";

        //assumaOControle();
        //faseDoEnviaCriature();
        //iniciandoAposEncontro();
        //iniciandoAposTrocarCriature();
    }
Example #11
0
    void Update()
    {
        Vector3 posAlvo = Vector3.zero;
        switch(fase)
        {
        case faseDaEntrada.jogoDeCameraInicial:
            posAlvo = CaesarTransform.position+2.5f*Vector3.up-2*transform.right-6*transform.forward;
            transform.position = Vector3.Lerp(transform.position,posAlvo,Time.deltaTime);
            if(Vector3.Distance(posAlvo,transform.position)<0.5f)
            {
                fase = faseDaEntrada.focoNoCaesar;
                mens.entrando = true;
            }
        break;
        case faseDaEntrada.focoNoCaesar:
            transform.rotation = Quaternion.Lerp(
                transform.rotation,
                Quaternion.LookRotation(CaesarTransform.position-transform.position+Vector3.up),
                Time.deltaTime);

            olhaPraMimPo(CaesarTransform,animatorDoCaesar);
            olhaPraMimPo(LutzTransform,animatorDoLutz);
            trocaMensagem();

            if(mensagemAtual==2)
            {
                fase = faseDaEntrada.focoNoCorean;
                mens.entrando = false;
                animatorDoCorean.SetFloat("velocidade",0.5f);
                animatorDoCorean.speed = 0.5f;
                CoreanTransform.position = posicoesDeCamera[2].position;/*new melhoraPos().novaPos(
                    transform.position+Vector3.forward*9,1);*/
                posAlvo = new Vector3(transform.position.x-CoreanTransform.position.x,0,transform.position.z-CoreanTransform.position.z);
                CoreanTransform.rotation = Quaternion.LookRotation(posAlvo);
                transform.position-=1.5f*Vector3.up;
                animatorDoLutz.SetBool("girando",false);
                posAlvo = new Vector3(
                    CoreanTransform.position.x-LutzTransform.position.x,
                    0,
                    CoreanTransform.position.z-LutzTransform.position.z);
                LutzTransform.rotation = Quaternion.LookRotation(posAlvo);
                animatorDoCaesar.SetBool("girando",false);
                posAlvo = new Vector3(
                    CoreanTransform.position.x-CaesarTransform.position.x,
                    0,
                    CoreanTransform.position.z-CaesarTransform.position.z);
                CaesarTransform.rotation = Quaternion.LookRotation(posAlvo);
            }
        break;
        case faseDaEntrada.focoNoCorean:
            transform.LookAt(CoreanTransform);
            if(Vector3.Distance(transform.position,CoreanTransform.position)<5f)
            {
                animatorDoCorean.SetFloat("velocidade",0);
                mens.entrando = true;
                fase = faseDaEntrada.fala1Corean;
            }
        break;
        case faseDaEntrada.fala1Corean:
            trocaMensagem();
            if(mensagemAtual==4)
            {
                fase = faseDaEntrada.fala2Caesar;
                //mens.entrando = false;
                transform.position = CaesarTransform.position+CaesarTransform.forward*2+2f*Vector3.up;
                transform.LookAt(CaesarTransform.position+2*Vector3.up);
            }
        break;
        case faseDaEntrada.fala2Caesar:
            trocaMensagem();
            switch(mensagemAtual)
            {
            case 6:
            case 7:
                posAlvo = LutzTransform.position+LutzTransform.forward*2+1.5f*Vector3.up;
                transform.position = Vector3.Lerp(transform.position,posAlvo,Time.deltaTime);
            break;
            case 8:
                posAlvo = HooliganTransform.position
                    +HooliganTransform.forward*2
                        +1.2f*Vector3.up
                        -HooliganTransform.right*2;
                transform.position = Vector3.Lerp(transform.position,posAlvo,Time.deltaTime);
                transform.LookAt(HooliganTransform.position+1.2f*Vector3.up);
            break;
            case 9:
            case 10:
            case 11:
            case 12:
            case 13:
            case 14:
                CoreanTransform.position = posicoesDeCamera[3].position;
                posAlvo = posicoesDeCamera[1].position;
                transform.position = Vector3.Lerp(transform.position,posAlvo,2*Time.deltaTime);
                transform.rotation = Quaternion.Lerp(transform.rotation,posicoesDeCamera[1].rotation,Time.deltaTime);

            break;
            }
        break;
        case faseDaEntrada.assumindoOControle:
            andeAteOsPontos();
        break;
        case faseDaEntrada.iniciaConversa2:
            andeAteOsPontos();

            if(Vector3.Distance(CaesarTransform.position,posicoesNavMesh[2].position)<3
           &&
           Vector3.Distance(LutzTransform.position,posicoesNavMesh[2].position)<3
           &&
           Vector3.Distance(HooliganTransform.position,posicoesNavMesh[2].position)<3)
        {
                CaesarNavMesh.Stop();
                HooliganNavMesh.Stop();
                LutzNavMesh.Stop();

                Vector3 olharSegundo = new Vector3(CaesarTransform.position.x-CoreanTransform.position.x,
                                                   0,
                                                   CaesarTransform.position.z-CoreanTransform.position.z);
                CoreanTransform.rotation = Quaternion.LookRotation(olharSegundo);
                CaesarTransform.rotation = Quaternion.LookRotation(-olharSegundo);
                mensagemAtual = 16;
                mens.mensagem = essaConversa[mensagemAtual];
                fase = faseDaEntrada.conversa2;
        }
        break;
        case faseDaEntrada.conversa2:
            animatorDoCaesar.SetFloat("velocidade",0);
            animatorDoHooligan.SetFloat("velocidade",0);
            animatorDoLutz.SetFloat("velocidade",0);

            mens.entrando = true;
            trocaMensagem();
            if(mensagemAtual == 18)
            {
                fase = faseDaEntrada.vaoEmboraExcedentes;
                LutzNavMesh.destination = posicoesNavMesh[3].position;
                HooliganNavMesh.destination = posicoesNavMesh[3].position;
                mudaParent(posicoesDeCamera[6]);
                HooliganTransform.gameObject. AddComponent<destruaQUandoProximo>().local = posicoesNavMesh[3].position;
                LutzTransform.gameObject. AddComponent<destruaQUandoProximo>().local = posicoesNavMesh[3].position;
            }
        break;
        case faseDaEntrada.vaoEmboraExcedentes:
            if(HooliganTransform)
                animatorDoHooligan.SetFloat("velocidade",HooliganNavMesh.velocity.magnitude);
            if(LutzTransform)
                animatorDoLutz.SetFloat("velocidade",LutzNavMesh.velocity.magnitude);

            if(mensagemAtual+1==21)
            {
                mudaParent(posicoesDeCamera[5]);
            }
            trocaMensagem();
        break;
        case faseDaEntrada.enviaCriature:
            if(!aE)
            {
                animatorDoCorean.SetBool("chama",false);
                //mB.enabled = true;
                transform.parent = null;
                //cam.enabled = true;
                if(!tuto)
                    tuto = GetComponent<Tutorial>();
                tuto.ensinaUsarCriature();
                tuto.ePlus = this;
                fase = faseDaEntrada.esperaAlternar;
            }
        break;
        case faseDaEntrada.esperaAlternar:
            if(Input.GetButtonDown("paraCriature"))
            {
                fase = faseDaEntrada.comOCriature;
                alternancia a = GameObject.Find("CriatureAtivo").GetComponent<alternancia>();
                a.aoCriature();
                if(LutzTransform)
                    Destroy(LutzTransform.gameObject);

                if(HooliganTransform)
                    Destroy(HooliganTransform.gameObject);
            }
        break;
        case faseDaEntrada.comOCriature:
            if(Input.GetButtonDown("paraCriature"))
            {
                faseAteOEncontro();
            }

        break;
        case faseDaEntrada.ateOEncontro:
            if(mensagemAtual==21)
            {
                //mens.entrando = true;
                trocaMensagem();
            }else
                mens.entrando = false;

            animatorDoCaesar.SetFloat("velocidade",CaesarNavMesh.velocity.magnitude);
        break;
        case faseDaEntrada.habilitaAlternador:

                if(!Input.GetButtonDown("gatilho"))
                    mB.criatureScroll();
                else if(H.itemAoUso==3 && !Input.GetButton("Correr"))
                {
                    GameObject.Find("CriatureAtivo").GetComponent<movimentoBasico>().criatureScroll();
                    vidaEmLuta[] vS =  GameObject.Find("encontreEle").GetComponents<vidaEmLuta>();
                    foreach(vidaEmLuta v in vS)
                    {
                        v.entrando = true;
                    }
                    tuto.removeEsbranquicado();
                    tuto.UsarGatilhoDoItem();
                    fase = faseDaEntrada.useiMaca;
                    heroi.contraTreinador = true;
                }else if(!Input.GetButton("Correr"))
                {
                    if(mL)
                        mL.fechador();
                    mL = gameObject.AddComponent<mensagemEmLuta>();
                    mL.mensagem = bancoDeTextos.falacoes[heroi.lingua]["tuto"][1];
                }

            if(H.itemAoUso==3)
                tuto.vejaQualMens();

        break;
        case faseDaEntrada.ultimoSigaCaesar:
            contadorDeTempo+=Time.deltaTime;

            if(contadorDeTempo>3)
            {
                if(!mens)
                    mens = gameObject.AddComponent<mensagemBasica>();
                mens.entrando = true;
                mensagemAtual = 22;
                mens.mensagem = essaConversa[22];
                fase = faseDaEntrada.mensDoUltimoSigaCaesar;
                //CaesarTransform.position = new melhoraPos().novaPos( CoreanTransform.position+Vector3.right,1);
            }
        break;
        case faseDaEntrada.mensDoUltimoSigaCaesar:
            trocaMensagem();
            animatorDoCaesar.SetFloat("velocidade",CaesarNavMesh.velocity.magnitude);
        break;
        case faseDaEntrada.caesarAndandoFinal:
            animatorDoCaesar.SetFloat("velocidade",CaesarNavMesh.velocity.magnitude);
        break;
        case faseDaEntrada.giraProGlark:
            Vector3 V = GlarkTransform.position-CoreanTransform.position;
            V = new Vector3(V.x,0,V.z);
            Quaternion Q = Quaternion.LookRotation(V);
            CoreanTransform.rotation = Quaternion.Lerp(CoreanTransform.rotation,Q,Time.deltaTime);
            V = GlarkTransform.position - CaesarTransform.position;
            V = new Vector3(V.x,0,V.z);
            Q = Quaternion.LookRotation(V);
            CaesarTransform.rotation = Quaternion.Lerp(CaesarTransform.rotation,Q,Time.deltaTime);
        break;
        case faseDaEntrada.encontroComGlark:
            trocaMensagem();
        break;
        case faseDaEntrada.cameraParaGlar:
            trocaMensagem();
            transform.position = Vector3.Lerp(transform.position,posicoesDeCamera[9].position,5*Time.deltaTime);
            transform.rotation = Quaternion.Lerp(transform.rotation,posicoesDeCamera[9].rotation,5*Time.deltaTime);
        break;
        case faseDaEntrada.voltaCameraProCorean:
            trocaMensagem();
            transform.position = Vector3.Lerp(transform.position,posicoesDeCamera[7].position,5*Time.deltaTime);
            transform.rotation = Quaternion.Lerp(transform.rotation,posicoesDeCamera[7].rotation,5*Time.deltaTime);
        break;
        case faseDaEntrada.rajadaDeAgua:
            contadorDeTempo+=Time.deltaTime;
            if(contadorDeTempo>0.75f)
            {
                transform.position = Vector3.Lerp(transform.position,posicoesDeCamera[7].position,5*Time.deltaTime);
                transform.rotation = Quaternion.Lerp(transform.rotation,posicoesDeCamera[7].rotation,5*Time.deltaTime);
            }

            if(contadorDeTempo>1.5f)
            {
                fase = faseDaEntrada.empurrandoParaQueda;
                transform.position = posicoesDeCamera[7].position;
                transform.rotation = posicoesDeCamera[7].rotation;
                animatorDoCaesar.Play("damage_25");
                animatorDoCorean.Play("damage_25");
                colDaPonte.enabled = false;
                CaesarNavMesh.enabled = false;
                contadorDeTempo = 0;
            }
        break;
        case faseDaEntrada.empurrandoParaQueda:
            contadorDeTempo+=Time.deltaTime;
            if(contadorDeTempo<1f)
            {
                CoreanTransform.position+=15*Vector3.forward*Time.deltaTime;
                CaesarTransform.position+=15*Vector3.forward*Time.deltaTime;
            }else
            {
                fase = faseDaEntrada.estadoNulo;
                p = gameObject.AddComponent<pretoMorte>();
                StartCoroutine(pretoMorteVoltaFInal());
            }

        break;
        case faseDaEntrada.QuedaFinal:
            contadorDeTempo+=Time.deltaTime;
            if(contadorDeTempo<2)
            {
                CaesarTransform.position+=Vector3.down*15*Time.deltaTime;
                CoreanTransform.position+=Vector3.down*15*Time.deltaTime;
                pedrasFInais.position+=Vector3.down*15*Time.deltaTime;

            }else
            {
                p = gameObject.AddComponent<pretoMorte>();
                Invoke("novaCena",2.75f);
            }
        break;
        }
    }
Example #12
0
    void Start()
    {
        string[] verdadeiros = new string[5]{"adiciona O Criature",
            "HUDItens",
            "HUDCriatures",
            "alternaParaCriature",
            "TrocaGolpes"};

        foreach(string i in verdadeiros)
        {
            variaveisChave.shift[i]=true;
        }

        transform.parent =posicoesDeCamera[0];
        transform.localPosition = Vector3.zero;
        transform.localRotation = Quaternion.identity;
        animatorDoCaesar = CaesarTransform.GetComponent<Animator>();
        animatorDoLutz = LutzTransform.GetComponent<Animator>();
        animatorDoCorean = CoreanTransform.GetComponent<Animator>();
        animatorDoHooligan = HooliganTransform.GetComponent<Animator>();

        fase = faseDaEntrada.jogoDeCameraInicial;
        //fase = faseDaEntrada.assumindoOControle;

        essaConversa = bancoDeTextos.falacoes[heroi.lingua]["entradinhaPlus"].ToArray();

        mens = gameObject.AddComponent<mensagemBasica>();
        mens.entrando = false;
        mens.mensagem = essaConversa[0] ;
        mensagemAtual = 0;
        mens.skin = skin;
        mens.posY  = 0.68f;
        mens.title = "";

        //assumaOControle();
        //faseDoEnviaCriature();
        //iniciandoAposEncontro();
        //iniciandoAposTrocarCriature();
    }
Example #13
0
    void proximaMens()
    {
        if(
            mensagemAtual+1!=16
            &&
            mensagemAtual+1!=21
            &&
            mensagemAtual+1!=23
            &&
            mensagemAtual+1!=32
            &&
            mensagemAtual+1< essaConversa.Length)
        {
            mensagemAtual++;
            mens.mensagem = essaConversa[mensagemAtual];
            mens.entrando = true;
        }else if(mensagemAtual+1==16){
            assumaOControle();
            mensagemAtual++;
        }
        else if(mensagemAtual+1==21)
        {
            mensagemAtual++;
            faseDoEnviaCriature();
        }else if(mensagemAtual+1==23)
        {
            mensagemAtual++;
            CaesarNavMesh.destination = posicoesNavMesh[5].position;
            fase = faseDaEntrada.caesarAndandoFinal;
        }else if(mensagemAtual+1==32)
        {
            mens.entrando = false;
            mensagemAtual++;
            NesseiTransform.LookAt(CaesarTransform);
            Criature X = NesseiTransform.GetComponent<umCriature>().X;
            X.golpeEscolhido = 1;
            NesseiTransform.gameObject.AddComponent<comandos>().aplicaGolpe(X);
            fase = faseDaEntrada.rajadaDeAgua;
            contadorDeTempo = 0;
        }
        else{

            mensagemAtual++;
            mens.entrando = false;
        }
        //	finalisaConversa();

        switch(mensagemAtual)
        {
        case 2:
        case 3:
        case 23:
        case 29:
            mens.title = "\t\t\t Cesar Corean";
        break;
        case 25:
            mens.title = "\t\t\t Cesar Corean";
            gameObject.AddComponent<animaTroca>();
        break;
        case 26:
            mens.title = "\t\t\t\t\t\t Caesar Palace";
            animatorDoCorean.SetBool("chama",false);
            CoreanTransform.rotation = Quaternion.LookRotation(Vector3.back);
        break;
        case 27:
        case 31:
            fase = faseDaEntrada.cameraParaGlar;
            mens.title = "\t\t\t\t Glark";
        break;
        case 28:
            fase = faseDaEntrada.voltaCameraProCorean;
            mens.title = "\t\t\t\t\t\t Caesar Palace";
        break;
        default:
            if(mensagemAtual>3)
                mens.title = "\t\t\t\t\t\t Caesar Palace";
        break;
        }

        invocando = false;
    }
Example #14
0
 IEnumerator pretoMorteVoltaFInal()
 {
     yield return new WaitForSeconds(1.5f);
     p.entrando = false;
     contadorDeTempo = 0;
     fase = faseDaEntrada.QuedaFinal;
     transform.position = posicoesDeCamera[10].position;
     transform.rotation = posicoesDeCamera[10].rotation;
     CaesarTransform.position = transform.position+25*Vector3.up;
     CoreanTransform.position = transform.position+25*Vector3.up+3*Vector3.right;
     pedrasFInais.position = transform.position+35*Vector3.up;
 }
Example #15
0
    void issoAi()
    {
        fase = faseDaEntrada.estadoNulo;
        Destroy(HooliganTransform.gameObject);
        Destroy(LutzTransform.gameObject);
        H = CoreanTransform.gameObject. AddComponent<heroi>();
        tuto.H = H;
        H.limpaTodasAsVariaveis();
        H.criaturesAtivos.Add(new cCriature(nomesCriatures.FelixCat,20).criature());
        H.criaturesAtivos.Add(new cCriature(nomesCriatures.Vampire,20).criature());
        CaesarNavMesh.Stop();
        //GameObject.Find("encontreEle").SetActive(false);

        Invoke("adicionaEle",0.25f);
        CaesarTransform.position = new melhoraPos().novaPos( CoreanTransform.position+Vector3.right,1);
    }
Example #16
0
 void faseDoEnviaCriature()
 {
     mensagemAtual=21;
     mens.mensagem = essaConversa[21];
     fase = faseDaEntrada.enviaCriature;
     H = CoreanTransform.gameObject. AddComponent<heroi>();
     tuto.H = H;
     H.limpaTodasAsVariaveis();
     H.criaturesAtivos.Add(new cCriature(nomesCriatures.FelixCat,20).criature());
     aE = gameObject.AddComponent<animaEnvia>();
     aE.posCriature = CoreanTransform.position-transform.forward*3;
     CoreanTransform.rotation = Quaternion.LookRotation(Vector3.right);
     aE.oInstanciado = nomesCriatures.FelixCat;
     animatorDoCorean.SetBool("chama",true);
 }
Example #17
0
 void destinacao(int i)
 {
     if(i<3)
     {
         CaesarNavMesh.destination = posicoesNavMesh[i].position;
         HooliganNavMesh.destination = posicoesNavMesh[i].position;
         LutzNavMesh.destination = posicoesNavMesh[i].position;
     }else
         fase = faseDaEntrada.estadoNulo;
 }
Example #18
0
 void assumaOControle()
 {
     HooliganNavMesh.enabled = true;
     animatorDoHooligan.Play("padrao",0);
     destinacao(0);
     fase =  faseDaEntrada.assumindoOControle;
     //mens.entrando = false;
     transform.parent = null;
     animatorDoCorean.speed = 1;
     cam = CoreanTransform.gameObject.AddComponent<cameraPrincipal>();
     mB = CoreanTransform.gameObject.AddComponent<movimentoBasico>();
     tuto = GetComponent<Tutorial>();
     tuto.Iniciou();
     tuto.ePlus = this;
     //Tutorial tuto = gameObject.AddComponent<Tutorial>();
 }
Example #19
0
 public void maisDoCaesar()
 {
     contadorDeTempo = 0;
     fase = faseDaEntrada.ultimoSigaCaesar;
 }
Example #20
0
 public void IniciaConversa2()
 {
     fase = faseDaEntrada.iniciaConversa2;
     mB.enabled = false;
     cam.enabled = false;
     mB.pararOHeroi();
     CoreanTransform.position = posicoesDeCamera[4].position;
     mudaParent(posicoesDeCamera[5]);
     tuto.entrando = false;
     variaveisChave.shift["alternaParaCriature"] = false;
 }
Example #21
0
 public void habilitaAlternador()
 {
     H.itens.AddRange(new item[5]{
         new item(nomeIDitem.aguaTonica),
         new item(nomeIDitem.gasolina),
         new item(nomeIDitem.regador),
         new item(nomeIDitem.maca),
         new item(nomeIDitem.cartaLuva)});
     H.itens[3].estoque = 10;
     H.itens[0].estoque = 3;
     H.itens[2].estoque = 2;
     variaveisChave.shift["HUDItens"] = false;
     fase = faseDaEntrada.habilitaAlternador;
 }
Example #22
0
    void proximaMens()
    {
        if (
            mensagemAtual + 1 != 16
            &&
            mensagemAtual + 1 != 21
            &&
            mensagemAtual + 1 != 23
            &&
            mensagemAtual + 1 != 32
            &&
            mensagemAtual + 1 < essaConversa.Length)
        {
            mensagemAtual++;
            mens.mensagem = essaConversa[mensagemAtual];
            mens.entrando = true;
        }
        else if (mensagemAtual + 1 == 16)
        {
            assumaOControle();
            mensagemAtual++;
        }
        else if (mensagemAtual + 1 == 21)
        {
            mensagemAtual++;
            faseDoEnviaCriature();
        }
        else if (mensagemAtual + 1 == 23)
        {
            mensagemAtual++;
            CaesarNavMesh.destination = posicoesNavMesh[5].position;
            fase = faseDaEntrada.caesarAndandoFinal;
        }
        else if (mensagemAtual + 1 == 32)
        {
            mens.entrando = false;
            mensagemAtual++;
            NesseiTransform.LookAt(CaesarTransform);
            Criature X = NesseiTransform.GetComponent <umCriature>().X;
            X.golpeEscolhido = 1;
            NesseiTransform.gameObject.AddComponent <comandos>().aplicaGolpe(X);
            fase            = faseDaEntrada.rajadaDeAgua;
            contadorDeTempo = 0;
        }
        else
        {
            mensagemAtual++;
            mens.entrando = false;
        }
        //	finalisaConversa();



        switch (mensagemAtual)
        {
        case 2:
        case 3:
        case 23:
        case 29:
            mens.title = "\t\t\t Cesar Corean";
            break;

        case 25:
            mens.title = "\t\t\t Cesar Corean";
            gameObject.AddComponent <animaTroca>();
            break;

        case 26:
            mens.title = "\t\t\t\t\t\t Caesar Palace";
            animatorDoCorean.SetBool("chama", false);
            CoreanTransform.rotation = Quaternion.LookRotation(Vector3.back);
            break;

        case 27:
        case 31:
            fase       = faseDaEntrada.cameraParaGlar;
            mens.title = "\t\t\t\t Glark";
            break;

        case 28:
            fase       = faseDaEntrada.voltaCameraProCorean;
            mens.title = "\t\t\t\t\t\t Caesar Palace";
            break;

        default:
            if (mensagemAtual > 3)
            {
                mens.title = "\t\t\t\t\t\t Caesar Palace";
            }
            break;
        }

        invocando = false;
    }
Example #23
0
    IEnumerator voltaDoPretoMorte(pretoMorte p)
    {
        yield return new WaitForSeconds(2);
        transform.position = posicoesDeCamera[7].position;
        transform.rotation = posicoesDeCamera[7].rotation;
        CoreanTransform.position = new melhoraPos().novaPos(posicoesDeCamera[8].position);
        CoreanTransform.rotation = Quaternion.LookRotation(Vector3.left);
        CaesarNavMesh.enabled = false;
        CaesarTransform.position = new melhoraPos().novaPos(posicoesDeCamera[8].position-Vector3.right);
        CaesarTransform.rotation = Quaternion.LookRotation(Vector3.left);
        fase = faseDaEntrada.giraProGlark;
        animatorDoCorean.SetFloat("velocidade",0.5f);
        animatorDoCaesar.SetFloat("velocidade",0.5f);
        CaesarNavMesh.enabled = true;
        yield return new WaitForSeconds(0.5f);
        p.entrando = false;

        yield return new WaitForSeconds(1);

        animatorDoCorean.SetFloat("velocidade",0f);
        animatorDoCaesar.SetFloat("velocidade",0f);

        fase = faseDaEntrada.encontroComGlark;

        if(!mens)
            gameObject.AddComponent<mensagemBasica>();
        mens.entrando = true;
        mens.mensagem = essaConversa[23];
        mensagemAtual = 23;
        mens.title = "\t \t Cesar Corean";
    }
Example #24
0
 public void maisDoCaesar()
 {
     contadorDeTempo = 0;
     fase            = faseDaEntrada.ultimoSigaCaesar;
 }
Example #25
0
    void Update()
    {
        Vector3 posAlvo = Vector3.zero;

        switch (fase)
        {
        case faseDaEntrada.jogoDeCameraInicial:
            posAlvo            = CaesarTransform.position + 2.5f * Vector3.up - 2 * transform.right - 6 * transform.forward;
            transform.position = Vector3.Lerp(transform.position, posAlvo, Time.deltaTime);
            if (Vector3.Distance(posAlvo, transform.position) < 0.5f)
            {
                fase          = faseDaEntrada.focoNoCaesar;
                mens.entrando = true;
            }
            break;

        case faseDaEntrada.focoNoCaesar:
            transform.rotation = Quaternion.Lerp(
                transform.rotation,
                Quaternion.LookRotation(CaesarTransform.position - transform.position + Vector3.up),
                Time.deltaTime);

            olhaPraMimPo(CaesarTransform, animatorDoCaesar);
            olhaPraMimPo(LutzTransform, animatorDoLutz);
            trocaMensagem();

            if (mensagemAtual == 2)
            {
                fase          = faseDaEntrada.focoNoCorean;
                mens.entrando = false;
                animatorDoCorean.SetFloat("velocidade", 0.5f);
                animatorDoCorean.speed   = 0.5f;
                CoreanTransform.position = posicoesDeCamera[2].position;                /*new melhoraPos().novaPos(
                                                                                         * transform.position+Vector3.forward*9,1);*/
                posAlvo = new Vector3(transform.position.x - CoreanTransform.position.x, 0, transform.position.z - CoreanTransform.position.z);
                CoreanTransform.rotation = Quaternion.LookRotation(posAlvo);
                transform.position      -= 1.5f * Vector3.up;
                animatorDoLutz.SetBool("girando", false);
                posAlvo = new Vector3(
                    CoreanTransform.position.x - LutzTransform.position.x,
                    0,
                    CoreanTransform.position.z - LutzTransform.position.z);
                LutzTransform.rotation = Quaternion.LookRotation(posAlvo);
                animatorDoCaesar.SetBool("girando", false);
                posAlvo = new Vector3(
                    CoreanTransform.position.x - CaesarTransform.position.x,
                    0,
                    CoreanTransform.position.z - CaesarTransform.position.z);
                CaesarTransform.rotation = Quaternion.LookRotation(posAlvo);
            }
            break;

        case faseDaEntrada.focoNoCorean:
            transform.LookAt(CoreanTransform);
            if (Vector3.Distance(transform.position, CoreanTransform.position) < 5f)
            {
                animatorDoCorean.SetFloat("velocidade", 0);
                mens.entrando = true;
                fase          = faseDaEntrada.fala1Corean;
            }
            break;

        case faseDaEntrada.fala1Corean:
            trocaMensagem();
            if (mensagemAtual == 4)
            {
                fase = faseDaEntrada.fala2Caesar;
                //mens.entrando = false;
                transform.position = CaesarTransform.position + CaesarTransform.forward * 2 + 2f * Vector3.up;
                transform.LookAt(CaesarTransform.position + 2 * Vector3.up);
            }
            break;

        case faseDaEntrada.fala2Caesar:
            trocaMensagem();
            switch (mensagemAtual)
            {
            case 6:
            case 7:
                posAlvo            = LutzTransform.position + LutzTransform.forward * 2 + 1.5f * Vector3.up;
                transform.position = Vector3.Lerp(transform.position, posAlvo, Time.deltaTime);
                break;

            case 8:
                posAlvo = HooliganTransform.position
                          + HooliganTransform.forward * 2
                          + 1.2f * Vector3.up
                          - HooliganTransform.right * 2;
                transform.position = Vector3.Lerp(transform.position, posAlvo, Time.deltaTime);
                transform.LookAt(HooliganTransform.position + 1.2f * Vector3.up);
                break;

            case 9:
            case 10:
            case 11:
            case 12:
            case 13:
            case 14:
                CoreanTransform.position = posicoesDeCamera[3].position;
                posAlvo            = posicoesDeCamera[1].position;
                transform.position = Vector3.Lerp(transform.position, posAlvo, 2 * Time.deltaTime);
                transform.rotation = Quaternion.Lerp(transform.rotation, posicoesDeCamera[1].rotation, Time.deltaTime);

                break;
            }
            break;

        case faseDaEntrada.assumindoOControle:
            andeAteOsPontos();
            break;

        case faseDaEntrada.iniciaConversa2:
            andeAteOsPontos();

            if (Vector3.Distance(CaesarTransform.position, posicoesNavMesh[2].position) < 3
                &&
                Vector3.Distance(LutzTransform.position, posicoesNavMesh[2].position) < 3
                &&
                Vector3.Distance(HooliganTransform.position, posicoesNavMesh[2].position) < 3)
            {
                CaesarNavMesh.Stop();
                HooliganNavMesh.Stop();
                LutzNavMesh.Stop();

                Vector3 olharSegundo = new Vector3(CaesarTransform.position.x - CoreanTransform.position.x,
                                                   0,
                                                   CaesarTransform.position.z - CoreanTransform.position.z);
                CoreanTransform.rotation = Quaternion.LookRotation(olharSegundo);
                CaesarTransform.rotation = Quaternion.LookRotation(-olharSegundo);
                mensagemAtual            = 16;
                mens.mensagem            = essaConversa[mensagemAtual];
                fase = faseDaEntrada.conversa2;
            }
            break;

        case faseDaEntrada.conversa2:
            animatorDoCaesar.SetFloat("velocidade", 0);
            animatorDoHooligan.SetFloat("velocidade", 0);
            animatorDoLutz.SetFloat("velocidade", 0);

            mens.entrando = true;
            trocaMensagem();
            if (mensagemAtual == 18)
            {
                fase = faseDaEntrada.vaoEmboraExcedentes;
                LutzNavMesh.destination     = posicoesNavMesh[3].position;
                HooliganNavMesh.destination = posicoesNavMesh[3].position;
                mudaParent(posicoesDeCamera[6]);
                HooliganTransform.gameObject.AddComponent <destruaQUandoProximo>().local = posicoesNavMesh[3].position;
                LutzTransform.gameObject.AddComponent <destruaQUandoProximo>().local     = posicoesNavMesh[3].position;
            }
            break;

        case faseDaEntrada.vaoEmboraExcedentes:
            if (HooliganTransform)
            {
                animatorDoHooligan.SetFloat("velocidade", HooliganNavMesh.velocity.magnitude);
            }
            if (LutzTransform)
            {
                animatorDoLutz.SetFloat("velocidade", LutzNavMesh.velocity.magnitude);
            }

            if (mensagemAtual + 1 == 21)
            {
                mudaParent(posicoesDeCamera[5]);
            }
            trocaMensagem();
            break;

        case faseDaEntrada.enviaCriature:
            if (!aE)
            {
                animatorDoCorean.SetBool("chama", false);
                //mB.enabled = true;
                transform.parent = null;
                //cam.enabled = true;
                if (!tuto)
                {
                    tuto = GetComponent <Tutorial>();
                }
                tuto.ensinaUsarCriature();
                tuto.ePlus = this;
                fase       = faseDaEntrada.esperaAlternar;
            }
            break;

        case faseDaEntrada.esperaAlternar:
            if (Input.GetButtonDown("paraCriature"))
            {
                fase = faseDaEntrada.comOCriature;
                alternancia a = GameObject.Find("CriatureAtivo").GetComponent <alternancia>();
                a.aoCriature();
                if (LutzTransform)
                {
                    Destroy(LutzTransform.gameObject);
                }

                if (HooliganTransform)
                {
                    Destroy(HooliganTransform.gameObject);
                }
            }
            break;

        case faseDaEntrada.comOCriature:
            if (Input.GetButtonDown("paraCriature"))
            {
                faseAteOEncontro();
            }

            break;

        case faseDaEntrada.ateOEncontro:
            if (mensagemAtual == 21)
            {
                //mens.entrando = true;
                trocaMensagem();
            }
            else
            {
                mens.entrando = false;
            }

            animatorDoCaesar.SetFloat("velocidade", CaesarNavMesh.velocity.magnitude);
            break;

        case faseDaEntrada.habilitaAlternador:

            if (!Input.GetButtonDown("gatilho"))
            {
                mB.criatureScroll();
            }
            else if (H.itemAoUso == 3 && !Input.GetButton("Correr"))
            {
                GameObject.Find("CriatureAtivo").GetComponent <movimentoBasico>().criatureScroll();
                vidaEmLuta[] vS = GameObject.Find("encontreEle").GetComponents <vidaEmLuta>();
                foreach (vidaEmLuta v in vS)
                {
                    v.entrando = true;
                }
                tuto.removeEsbranquicado();
                tuto.UsarGatilhoDoItem();
                fase = faseDaEntrada.useiMaca;
                heroi.contraTreinador = true;
            }
            else if (!Input.GetButton("Correr"))
            {
                if (mL)
                {
                    mL.fechador();
                }
                mL          = gameObject.AddComponent <mensagemEmLuta>();
                mL.mensagem = bancoDeTextos.falacoes[heroi.lingua]["tuto"][1];
            }

            if (H.itemAoUso == 3)
            {
                tuto.vejaQualMens();
            }

            break;

        case faseDaEntrada.ultimoSigaCaesar:
            contadorDeTempo += Time.deltaTime;

            if (contadorDeTempo > 3)
            {
                if (!mens)
                {
                    mens = gameObject.AddComponent <mensagemBasica>();
                }
                mens.entrando = true;
                mensagemAtual = 22;
                mens.mensagem = essaConversa[22];
                fase          = faseDaEntrada.mensDoUltimoSigaCaesar;
                //CaesarTransform.position = new melhoraPos().novaPos( CoreanTransform.position+Vector3.right,1);
            }
            break;

        case faseDaEntrada.mensDoUltimoSigaCaesar:
            trocaMensagem();
            animatorDoCaesar.SetFloat("velocidade", CaesarNavMesh.velocity.magnitude);
            break;

        case faseDaEntrada.caesarAndandoFinal:
            animatorDoCaesar.SetFloat("velocidade", CaesarNavMesh.velocity.magnitude);
            break;

        case faseDaEntrada.giraProGlark:
            Vector3 V = GlarkTransform.position - CoreanTransform.position;
            V = new Vector3(V.x, 0, V.z);
            Quaternion Q = Quaternion.LookRotation(V);
            CoreanTransform.rotation = Quaternion.Lerp(CoreanTransform.rotation, Q, Time.deltaTime);
            V = GlarkTransform.position - CaesarTransform.position;
            V = new Vector3(V.x, 0, V.z);
            Q = Quaternion.LookRotation(V);
            CaesarTransform.rotation = Quaternion.Lerp(CaesarTransform.rotation, Q, Time.deltaTime);
            break;

        case faseDaEntrada.encontroComGlark:
            trocaMensagem();
            break;

        case faseDaEntrada.cameraParaGlar:
            trocaMensagem();
            transform.position = Vector3.Lerp(transform.position, posicoesDeCamera[9].position, 5 * Time.deltaTime);
            transform.rotation = Quaternion.Lerp(transform.rotation, posicoesDeCamera[9].rotation, 5 * Time.deltaTime);
            break;

        case faseDaEntrada.voltaCameraProCorean:
            trocaMensagem();
            transform.position = Vector3.Lerp(transform.position, posicoesDeCamera[7].position, 5 * Time.deltaTime);
            transform.rotation = Quaternion.Lerp(transform.rotation, posicoesDeCamera[7].rotation, 5 * Time.deltaTime);
            break;

        case faseDaEntrada.rajadaDeAgua:
            contadorDeTempo += Time.deltaTime;
            if (contadorDeTempo > 0.75f)
            {
                transform.position = Vector3.Lerp(transform.position, posicoesDeCamera[7].position, 5 * Time.deltaTime);
                transform.rotation = Quaternion.Lerp(transform.rotation, posicoesDeCamera[7].rotation, 5 * Time.deltaTime);
            }

            if (contadorDeTempo > 1.5f)
            {
                fase = faseDaEntrada.empurrandoParaQueda;
                transform.position = posicoesDeCamera[7].position;
                transform.rotation = posicoesDeCamera[7].rotation;
                animatorDoCaesar.Play("damage_25");
                animatorDoCorean.Play("damage_25");
                colDaPonte.enabled    = false;
                CaesarNavMesh.enabled = false;
                contadorDeTempo       = 0;
            }
            break;

        case faseDaEntrada.empurrandoParaQueda:
            contadorDeTempo += Time.deltaTime;
            if (contadorDeTempo < 1f)
            {
                CoreanTransform.position += 15 * Vector3.forward * Time.deltaTime;
                CaesarTransform.position += 15 * Vector3.forward * Time.deltaTime;
            }
            else
            {
                fase = faseDaEntrada.estadoNulo;
                p    = gameObject.AddComponent <pretoMorte>();
                StartCoroutine(pretoMorteVoltaFInal());
            }

            break;

        case faseDaEntrada.QuedaFinal:
            contadorDeTempo += Time.deltaTime;
            if (contadorDeTempo < 2)
            {
                CaesarTransform.position += Vector3.down * 15 * Time.deltaTime;
                CoreanTransform.position += Vector3.down * 15 * Time.deltaTime;
                pedrasFInais.position    += Vector3.down * 15 * Time.deltaTime;
            }
            else
            {
                p = gameObject.AddComponent <pretoMorte>();
                Invoke("novaCena", 2.75f);
            }
            break;
        }
    }
Example #26
0
    public void faseAteOEncontro()
    {
        if(fase == faseDaEntrada.comOCriature)
            fase = faseDaEntrada.ateOEncontro;

        mens.entrando = true;
        CaesarNavMesh.destination = posicoesNavMesh[4].position;
        variaveisChave.shift["alternaParaCriature"] = true;
    }
    // Update is called once per frame
    void Update()
    {
        if (podeEventar
            &&
            cJ.mensagemAtual == indiceDoEvento)
        {
            switch (fase)
            {
            case faseDaEntrada.iniciando:
                cJ.evento = true;
                fase      = faseDaEntrada.falaAberta;
                break;

            case faseDaEntrada.falaAberta:
                if (encontros.botoesPrincipais())
                {
                    cJ.mens.entrando = false;
                    fase             = faseDaEntrada.escurecendo;
                    p = gameObject.AddComponent <pretoMorte>();
                    tempoDecorrido = 0;
                }
                break;

            case faseDaEntrada.escurecendo:
                tempoDecorrido += Time.deltaTime;
                if (tempoDecorrido > 1)
                {
                    movimentoBasico.pararFluxoHeroi();
                    Camera.main.transform.position = posCameraFortaleza.position;
                    Camera.main.transform.rotation = posCameraFortaleza.rotation;
                    fase           = faseDaEntrada.clareando;
                    p.entrando     = false;
                    tempoDecorrido = 0;
                }
                break;

            case faseDaEntrada.clareando:
                tempoDecorrido += Time.deltaTime;
                if (tempoDecorrido > 0.5f && tempoDecorrido < 4)
                {
                    portaL.position += Vector3.right * 2 * Time.deltaTime;
                    portaR.position -= Vector3.right * 2 * Time.deltaTime;

                    if ((int)(100 * tempoDecorrido) % 1 == 0)
                    {
                        for (int i = 0; i < 10; i++)
                        {
                            Destroy(
                                Instantiate(
                                    elementosDoJogo.el.retorna("poeiraAoVento"),
                                    portaL.position - 3.5f * Vector3.up + (i - 6) * Vector3.right,
                                    Quaternion.identity
                                    ), 2);

                            Destroy(
                                Instantiate(
                                    elementosDoJogo.el.retorna("poeiraAoVento"),
                                    portaR.position - 3.5f * Vector3.up + (i - 6) * Vector3.right,
                                    Quaternion.identity
                                    ), 2);
                        }
                    }
                }
                else if (tempoDecorrido >= 4)
                {
                    cJ.finalisaConversa();
                    meshTransporte.enabled = true;
                    cJ.evento = false;
                    cJ.atualizaIndiceDeConversa("portaFortalezaAberta");
                    movimentoBasico.retornarFluxoHeroi();
                    podeEventar = false;
                }

                break;
            }
        }
    }