public bool EstouApresentando() { contadorDeTempo += Time.deltaTime; if (contadorDeTempo > TEMPO_PARA_MOSTRAR_VITORIA) { if (!apresentouFim) { ColocaCameraEmPOsicao(); cam.InicializaCameraExibicionista(criatureDoJogador.transform, criatureDoJogador.Mov.Controle.height); GameController.g.HudM.DesligaContainerDoInimigo(); apresentouFim = true; } else { if (!ligouMensagemDeFim) { Atributos A = inimigoDerrotado.MeuCriatureBase.CaracCriature.meusAtributos; PainelMensCriature.p.AtivarNovaMens( string.Format(bancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.apresentaFim), criatureDoJogador.MeuCriatureBase.NomeID, (int)((float)A.PV.Maximo / 2), A.PV.Maximo), 20); ligouMensagemDeFim = true; } else if (Input.GetMouseButtonDown(0) || contadorDeTempo > TEMPO_PARA_FECHAR_APRESENTA_FIM) { PainelMensCriature.p.EsconderMensagem(); return(false); } } } return(true); }
public bool Apresenta(float contadorDeTempo, AplicadorDeCamera cam) { if (contadorDeTempo > 0.5f) { if (!foiApresentado) { cam.transform.position = (inimigo.transform.position + 8 * inimigo.transform.forward + 5 * Vector3.up); cam.transform.LookAt(inimigo.transform); cam.InicializaCameraExibicionista(inimigo.transform, inimigo.GetComponent <CharacterController>().height); foiApresentado = true; } else { //cam.transform.RotateAround(inimigo.transform.position, Vector3.up, 15 * Time.deltaTime); if (!painelAberto) { painelAberto = true; // bugDoNivel1(); iniciaApresentaInimigo(); } else if (Input.GetMouseButtonDown(0) || contadorDeTempo > 10) { PainelMensCriature.p.EsconderMensagem(); return(true); } } } return(false); }
public AnimaBraco(CharacterManager manager, Transform alvo) { mCamera = AplicadorDeCamera.cam; mCamera.InicializaCameraExibicionista(manager.transform, 2.5f); this.manager = manager; animador = manager.Mov.Animador; manager.transform.rotation = Quaternion.LookRotation( Vector3.ProjectOnPlane(alvo.position - manager.transform.position, Vector3.up) ); this.alvo = alvo.gameObject; PosCriature = alvo.position; }
public AnimaBraco(Transform oAnimado, Transform alvo, bool treinador = false) { this.treinador = treinador; this.oAnimado = oAnimado; mCamera = AplicadorDeCamera.cam; mCamera.InicializaCameraExibicionista(oAnimado, 2.5f); animador = (treinador) ?new AnimadorHumano(oAnimado.GetComponent <Animator>()) : GameController.g.Manager.Mov.Animador; oAnimado.rotation = Quaternion.LookRotation( Vector3.ProjectOnPlane(alvo.position - oAnimado.position, Vector3.up) ); this.alvo = alvo.gameObject; PosCriature = alvo.position; }
public bool AnimaTroca( bool eItem = false ) { GameObject gerente = manager.gameObject; tempoDecorrido += Time.deltaTime; switch (estado) { case EstadoDoAnimaBraco.manipulandoCamera: if (mCamera.FocarPonto(VELOCIDADE_DE_MOVIMENTO_DE_CAMERA * Mathf.Max(Vector3.Distance(gerente.transform.position, alvo.transform.position), VELOCIDADE_MINIMA_PARA_MOVIMENTO_DE_CAMERA))) { estado = EstadoDoAnimaBraco.animaTroca; } break; case EstadoDoAnimaBraco.animaTroca: animador.AnimaTroca(); estado = EstadoDoAnimaBraco.AnimandoTroca; tempoDecorrido = 0; break; case EstadoDoAnimaBraco.AnimandoTroca: if (tempoDecorrido > TEMPO_DA_PRIMEIRA_ANIMACAO) { luz = ParticulasDeSubstituicao.InsereParticulaDaLuva(gerente, true); raio = ParticulasDeSubstituicao.InsereParticulaDoRaio(posCriature, gerente); estado = EstadoDoAnimaBraco.InsereRaioDeLuva; tempoDecorrido = 0; } break; case EstadoDoAnimaBraco.InsereRaioDeLuva: if (tempoDecorrido > TEMPO_PARA_INSTANCIAR_PARTICULA_CHAO && alvo.transform.localScale.sqrMagnitude > 0.01f) { ParticulasDeSubstituicao.ParticulaSaiDaLuva(alvo.transform.position); if (!eItem) { estado = EstadoDoAnimaBraco.DiminuiEscalaDoCriature; } else { mCamera.InicializaCameraExibicionista(alvo.transform, alvo.GetComponent <CharacterController>().height); estado = EstadoDoAnimaBraco.TerminaORaio; } tempoDecorrido = 0; } break; case EstadoDoAnimaBraco.DiminuiEscalaDoCriature: if (tempoDecorrido < TEMPO_DE_REDUCAO_DE_ESCALA) { alvo.transform.localScale = Vector3.Lerp(alvo.transform.localScale, Vector3.zero, 2 * Time.deltaTime); } else { estado = EstadoDoAnimaBraco.TerminaORaio; tempoDecorrido = 0; } break; case EstadoDoAnimaBraco.TerminaORaio: if (tempoDecorrido < TEMPO_PARA_FINALISAR_RAIO) { if (!eItem) { MonoBehaviour.Destroy(alvo); } ParticulasDeSubstituicao.ReduzVelocidadeDoRaio(raio); } else if (!eItem) { MudarParaAnimaBracoFinalizado(); return(false); } if (eItem) { if (mCamera.FocarPonto(VELOCIDADE_DE_MOVIMENTO_DE_CAMERA * Mathf.Max(Vector3.Distance(gerente.transform.position, alvo.transform.position), VELOCIDADE_MINIMA_PARA_MOVIMENTO_DE_CAMERA))) { MudarParaAnimaBracoFinalizado(); return(false); } } break; case EstadoDoAnimaBraco.AnimaBracoFinalizado: return(false); //break; } return(true); }