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); } }
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"; }
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); }
public void encontroComGlark() { pretoMorte p = gameObject.AddComponent <pretoMorte>(); mB.enabled = false; cam.enabled = false; StartCoroutine(voltaDoPretoMorte(p)); }
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; }
// 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; } } }
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; } }
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>(); }
void finalisaConversa() { if (!finalisou) { p = gameObject.AddComponent <pretoMorte>(); mens.fechaJanela(); //Destroy(this); Invoke("clareiaIsso", 2); finalisou = true; } }
// 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; } } }
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>(); }
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(); } }
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); } } }
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); } }
protected override void acaoDoItem() { p = gameObject.AddComponent<pretoMorte>(); Invoke("voltaArmagedom",1); }
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; } }
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"; }
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; } }
protected override void acaoDoItem() { p = gameObject.AddComponent <pretoMorte>(); Invoke("voltaArmagedom", 1); }