Beispiel #1
0
 public override void disparaEvento(nomesGolpes nomeDoGolpe)
 {
     if ((nomeDoGolpe == nomesGolpes.sabreDeAsa
          ||
          nomeDoGolpe == nomesGolpes.sabreDeBastao
          ||
          nomeDoGolpe == nomesGolpes.sabreDeEspada
          ||
          nomeDoGolpe == nomesGolpes.sabreDeNadadeira
          )
         &&
         !variaveisChave.shift[chaveDoCano]
         &&
         !heroi.emLuta
         )
     {
         mBcri         = GameObject.Find("CriatureAtivo").GetComponent <movimentoBasico>();
         mBcri.enabled = false;
         alternancia.focandoHeroi();
         movimentoBasico.pararFluxoCriature();
         movimentoBasico.pararFluxoHeroi();
         tCamera = Camera.main.transform;
         p       = gameObject.AddComponent <pretoMorte>();
         iniciou = true;
     }
     else if (variaveisChave.shift[chaveDoCano])
     {
         Destroy(this);
     }
 }
Beispiel #2
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";
    }
Beispiel #3
0
 public override void disparaEvento(nomesGolpes nomeDoGolpe)
 {
     if((nomeDoGolpe==nomesGolpes.sabreDeAsa
        ||
        nomeDoGolpe==nomesGolpes.sabreDeBastao
        ||
        nomeDoGolpe==nomesGolpes.sabreDeEspada
        ||
        nomeDoGolpe==nomesGolpes.sabreDeNadadeira
        )
        &&
        !variaveisChave.shift[chaveDoCano]
        &&
        !heroi.emLuta
        )
     {
         mBcri = GameObject.Find("CriatureAtivo").GetComponent<movimentoBasico>();
         mBcri.enabled = false;
         alternancia.focandoHeroi();
         movimentoBasico.pararFluxoCriature();
         movimentoBasico.pararFluxoHeroi();
         tCamera = Camera.main.transform;
         p = gameObject.AddComponent<pretoMorte>();
         iniciou = true;
     }else if(variaveisChave.shift[chaveDoCano])
         Destroy(this);
 }
Beispiel #4
0
    public void encontroComGlark()
    {
        pretoMorte p = gameObject.AddComponent <pretoMorte>();

        mB.enabled  = false;
        cam.enabled = false;
        StartCoroutine(voltaDoPretoMorte(p));
    }
Beispiel #5
0
 public static void posicionaCamera(Transform tCamera, Vector3 pos, Quaternion Q, pretoMorte p,
                                    out float t)
 {
     tCamera.position = pos;
     tCamera.rotation = Q;
     p.entrando       = false;
     t = 0;
 }
Beispiel #6
0
    // Update is called once per frame
    void Update()
    {
        if (iniciou)
        {
            tempoDecorrido += Time.deltaTime;
            switch (fase)
            {
            case fasesDaQueda.animaInicial:
                if (tempoDecorrido < 0.5f)
                {
                    mB.transform.position -= 5 * Vector3.up * Time.deltaTime;
                }
                else
                {
                    tempoDecorrido = 0;
                    p    = gameObject.AddComponent <pretoMorte>();
                    fase = fasesDaQueda.colocouPretoMorte;
                }
                break;

            case fasesDaQueda.colocouPretoMorte:
                if (tempoDecorrido > 1f)
                {
                    animator.Play("damage_25");
                    p.entrando            = false;
                    fase                  = fasesDaQueda.tiraPretoMorte;
                    mB.transform.position = posAlvo;
                }
                break;

            case fasesDaQueda.tiraPretoMorte:
                if (mB.noChao(mB.Y.distanciaFundamentadora))
                {
                    animator.Play("getup_20_p");
                    Transform T = GameObject.Find("CriatureAtivo").transform;
                    nav          = T.GetComponent <NavMeshAgent>();
                    siga         = T.GetComponent <sigaOLider>();
                    siga.enabled = false;
                    nav.enabled  = false;
                    T.position   = posAlvo;
                    fase         = fasesDaQueda.levantando;
                }
                break;

            case fasesDaQueda.levantando:
                if (tempoDecorrido > 0.25f)
                {
                    movimentoBasico.retornarFluxoHeroi();
                    iniciou      = false;
                    fase         = fasesDaQueda.animaInicial;
                    nav.enabled  = true;
                    siga.enabled = true;
                }
                break;
            }
        }
    }
Beispiel #7
0
    public void Update()
    {
        switch (fase)
        {
        case FasesDoLoad.carregando:

            tempo += Time.fixedDeltaTime;

            float progresso = 0;

            for (int i = 0; i < a2.Length; i++)
            {
                progresso += a2[i].progress;
            }

            progresso /= a2.Length;

            //Debug.Log(progresso + " : " + (tempo / tempoMin) + " : " + Mathf.Min(progresso, tempo / tempoMin, 1));

            loadBar.ValorParaBarra(Mathf.Min(progresso, tempo / tempoMin, 1));

            if (podeIr && tempo >= tempoMin)
            {
                SceneManager.MoveGameObjectToScene(GameObject.Find("EventSystem"), SceneManager.GetSceneByName("comunsDeFase"));
                pretoMorte pm = GameController.g.gameObject.AddComponent <pretoMorte>();
                pm.vel = 2;
                fase   = FasesDoLoad.escurecendo;
                tempo  = 0;
            }

            break;

        case FasesDoLoad.escurecendo:
            tempo += Time.fixedDeltaTime;
            if (tempo > 0.95f)
            {
                GameObject.FindObjectOfType <pretoMorte>().entrando = false;
                FindObjectOfType <Canvas>().enabled = false;
                fase = FasesDoLoad.clareando;
                SceneManager.SetActiveScene(
                    SceneManager.GetSceneByName(GameController.g.MyKeys.CenaAtiva.ToString()));
                GameController.g.Salvador.SalvarAgora();
                Time.timeScale = 1;
                tempo          = 0;
            }
            break;

        case FasesDoLoad.clareando:
            tempo += Time.fixedDeltaTime;
            if (tempo > 0.5f)
            {
                SceneManager.UnloadSceneAsync("CenaDeCarregamento");
                Destroy(gameObject);
            }
            break;
        }
    }
 void finalisaConversa()
 {
     if(!finalisou){
     p = gameObject.AddComponent<pretoMorte>();
     mens.fechaJanela();
     //Destroy(this);
     Invoke("clareiaIsso",2);
         finalisou = true;
     }
 }
Beispiel #9
0
 protected void preparaIniciaConversa()
 {
     e = GameObject.Find("Terrain").GetComponent<encontros>();
     if(e)
         e.enabled = false;
     movimentoBasico.pararFluxoHeroi();
     p = gameObject.AddComponent<pretoMorte>();
     tCam = Camera.main.transform;
     tHeroi = GameObject.FindWithTag("Player").transform;
     aHeroi = tHeroi.GetComponent<Animator>();
 }
Beispiel #10
0
 void finalisaConversa()
 {
     if (!finalisou)
     {
         p = gameObject.AddComponent <pretoMorte>();
         mens.fechaJanela();
         //Destroy(this);
         Invoke("clareiaIsso", 2);
         finalisou = true;
     }
 }
Beispiel #11
0
    // Update is called once per frame
    void Update()
    {
        if(iniciou)
        {
            tempoDecorrido+=Time.deltaTime;
            switch(fase)
            {
            case fasesDaQueda.animaInicial:
                if(tempoDecorrido<0.5f)
                {
                    mB.transform.position -= 5*Vector3.up*Time.deltaTime;
                }else
                {
                    tempoDecorrido = 0;
                    p = gameObject.AddComponent<pretoMorte>();
                    fase = fasesDaQueda.colocouPretoMorte;
                }
            break;
            case fasesDaQueda.colocouPretoMorte:
                if(tempoDecorrido>1f)
                {
                    animator.Play("damage_25");
                    p.entrando = false;
                    fase = fasesDaQueda.tiraPretoMorte;
                    mB.transform.position = posAlvo;
                }
            break;
            case fasesDaQueda.tiraPretoMorte:
                if(mB.noChao(mB.Y.distanciaFundamentadora))
                {
                    animator.Play("getup_20_p");
                    Transform T = GameObject.Find("CriatureAtivo").transform;
                    nav = T.GetComponent<NavMeshAgent>();
                    siga = T.GetComponent<sigaOLider>();
                    siga.enabled = false;
                    nav.enabled = false;
                    T.position = posAlvo;
                    fase = fasesDaQueda.levantando;
                }
            break;
            case fasesDaQueda.levantando:
                if(tempoDecorrido>0.25f)
                {
                    movimentoBasico.retornarFluxoHeroi();
                    iniciou = false;
                    fase = fasesDaQueda.animaInicial;
                    nav.enabled = true;
                    siga.enabled = true;
                }
            break;
            }

        }
    }
Beispiel #12
0
 protected void preparaIniciaConversa()
 {
     e = GameObject.Find("Terrain").GetComponent <encontros>();
     if (e)
     {
         e.enabled = false;
     }
     movimentoBasico.pararFluxoHeroi();
     p      = gameObject.AddComponent <pretoMorte>();
     tCam   = Camera.main.transform;
     tHeroi = GameObject.FindWithTag("Player").transform;
     aHeroi = tHeroi.GetComponent <Animator>();
 }
Beispiel #13
0
    void OnTriggerEnter(Collider col)
    {
        if(col.tag=="Player" && !heroi.emLuta  && !iniciou)
        {
            iniciou = true;
            if(e)
                e.enabled = false;
            movimentoBasico.pararFluxoHeroi(true,false,true,false);
            p = gameObject.AddComponent<pretoMorte>();
            p.cor = corDoFade;
            T = col.transform;
        }

        if(col.tag=="Criature" && !heroi.emLuta)
        {
            col.GetComponent<alternancia>().retornaAoHeroi();
        }
    }
Beispiel #14
0
    void OnTriggerEnter(Collider col)
    {
        if (!heroi.emLuta)
        {
            if (col.tag == "Player")
            {
                iniciar = true;
                movimentoBasico.pararFluxoHeroi();
                p          = gameObject.AddComponent <pretoMorte>();
                oEncostado = col.transform;
            }

            if (col.tag == "Criature")
            {
                mudeCena.evitaCriatureAvancarNoTrigger(col);
            }
        }
    }
Beispiel #15
0
    void OnTriggerEnter(Collider col)
    {
        if (col.tag == "Player" && !heroi.emLuta && !iniciou)
        {
            iniciou = true;
            if (e)
            {
                e.enabled = false;
            }
            movimentoBasico.pararFluxoHeroi(true, false, true, false);
            p     = gameObject.AddComponent <pretoMorte>();
            p.cor = corDoFade;
            T     = col.transform;
        }

        if (col.tag == "Criature" && !heroi.emLuta)
        {
            mudeCena.evitaCriatureAvancarNoTrigger(col);
        }
    }
Beispiel #16
0
 protected override void acaoDoItem()
 {
     p = gameObject.AddComponent<pretoMorte>();
     Invoke("voltaArmagedom",1);
 }
Beispiel #17
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;
        }
    }
    // 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;
            }
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (Vector3.Distance(H.transform.position, transform.position) < 11
            &&
            shopBasico.temItem(nomeIDitem.explosivos, H) > -1
            &&
            !pausaJogo.pause
            &&
            !heroi.emLuta
            &&
            !iniciou
            )
        {
            if (Input.GetButtonDown("acao") || Input.GetButtonDown("acaoAlt"))
            {
                acaoDeItem2.retiraItem(nomeIDitem.explosivos, 1, H);
                iniciou = true;
                p       = gameObject.AddComponent <pretoMorte>();
                movimentoBasico.pararFluxoHeroi();
                H.transform.rotation = Quaternion.LookRotation(Vector3.right);
                A = H.GetComponent <Animator>();
                A.SetFloat("velocidade", 3);
            }
        }

        if (iniciou)
        {
            tempoDecorrido += Time.deltaTime;
            switch (fase)
            {
            case faseDaAnima.iniciando:
                if (tempoDecorrido > 2)
                {
                    A.SetFloat("velocidade", 0);
                    abreCanoDeEsgoto.posicionaCamera(
                        tCamera, pos1Camera.position, pos1Camera.rotation, p, out tempoDecorrido);
                    fase = faseDaAnima.colocaParticulas;
                }

                break;

            case faseDaAnima.colocaParticulas:
                if (tempoDecorrido > 1)
                {
                    Destroy(
                        Instantiate(
                            elementosDoJogo.el.retorna("particulasAbreVulcao"),
                            transform.position,
                            Quaternion.identity), 2.5f);

                    tempoDecorrido = 0;
                    fase           = faseDaAnima.destruaAsPedras;
                }
                break;

            case faseDaAnima.destruaAsPedras:
                if (tempoDecorrido > 2.5)
                {
                    ativaTriggerTransporte();
                    variaveisChave.shift["vulcaoAberto"] = true;
                    pedrasNoCaminho.SetActive(false);
                    fase           = faseDaAnima.retornaMovimento;
                    tempoDecorrido = 0;
                }
                break;

            case faseDaAnima.retornaMovimento:
                if (tempoDecorrido > 1f)
                {
                    movimentoBasico.retornarFluxoHeroi();

                    Destroy(this);
                }
                break;
            }
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (mensagemAtual + 1 < essaConversa.Length)
        {
            facaTrocaMens();
        }
        else
        {
            switch (fase)
            {
            case fasesDoFim.escurecendo:
                if (encontros.botoesPrincipais())
                {
                    p             = gameObject.AddComponent <pretoMorte>();
                    fase          = fasesDoFim.clarear;
                    mens.entrando = false;
                }
                break;

            case fasesDoFim.clarear:
                tempoDecorrido += Time.deltaTime;
                if (tempoDecorrido > 2)
                {
                    p.entrando     = false;
                    fase           = fasesDoFim.visiteAPaginaOuFim;
                    tempoDecorrido = 0;
                    canvas.SetActive(true);
                }
                break;

            case fasesDoFim.visiteAPaginaOuFim:
                tempoDecorrido += Time.deltaTime;
                if (tempoDecorrido > 1f)
                {
                    if (Input.GetButtonDown("menu e auxiliar"))
                    {
                        Application.LoadLevel("saveAndLoad");
                    }
                }
                break;
            }
        }

        switch (mensagemAtual)
        {
        case 3:
        case 4:
            organizaPosicoes(0);
            break;

        case 5:
        case 6:
        case 7:
            organizaPosicoes(1);
            break;

        case 8:
        case 9:
        case 10:
            organizaPosicoes(2);
            break;

        case 11:
        case 12:
            organizaPosicoes(3);
            break;
        }
    }
Beispiel #21
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";
    }
Beispiel #22
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;
        }
    }
Beispiel #23
0
 protected override void acaoDoItem()
 {
     p = gameObject.AddComponent <pretoMorte>();
     Invoke("voltaArmagedom", 1);
 }