public static void AoCriature(CreatureManager C, CreatureManager inimigo = null) { Debug.Log("aqui"); if (inimigo != null) { AplicadorDeCamera aCam = AplicadorDeCamera.cam; aCam.InicializaCameraDeLuta(C, inimigo.transform); C.Estado = CreatureManager.CreatureState.emLuta; inimigo.Estado = CreatureManager.CreatureState.selvagem; } else { AplicadorDeCamera.cam.FocarBasica(C.transform, C.MeuCriatureBase.alturaCamera, C.MeuCriatureBase.distanciaCamera); C.Estado = CreatureManager.CreatureState.aPasseio; } C.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = false; }
public bool Update() { bool retorno = false; switch (estado) { case EncounterState.truqueDeCamera: TruqueDeCamera(); break; case EncounterState.apresentaAdversario: contadorDeTempo += Time.deltaTime; if (apresentaAdv.Apresenta(contadorDeTempo, cam)) { depoisDeTerminarAApresentacao(); } break; case EncounterState.comecaLuta: GameController.g.HudM.InicializaHudDeLuta(inimigo.MeuCriatureBase); ((IA_Agressiva)inimigo.IA).PodeAtualizar = true; manager.CriatureAtivo.Estado = CreatureManager.CreatureState.emLuta; cam.InicializaCameraDeLuta(manager.CriatureAtivo, inimigo.transform); estado = EncounterState.verifiqueVida; break; case EncounterState.verifiqueVida: GameController.g.HudM.AtualizeHud(manager, inimigo.MeuCriatureBase); VerifiqueVida(); break; case EncounterState.vitoriaNaLuta: if (!apresentaFim.EstouApresentando()) { RecebePontosDaVitoria(); } break; case EncounterState.VoltarParaPasseio: if (inimigo) { MonoBehaviour.Destroy(inimigo.gameObject); } cam.FocarBasica(manager.transform, 10, 10); estado = EncounterState.emEspera; retorno = true; break; case EncounterState.morreuEmLuta: ApresentaDerrota.RetornoDaDerrota R = apresentaDerrota.Update(); if (R != ApresentaDerrota.RetornoDaDerrota.atualizando) { if (R == ApresentaDerrota.RetornoDaDerrota.voltarParaPasseio) { estado = EncounterState.verifiqueVida; } else if (R == ApresentaDerrota.RetornoDaDerrota.deVoltaAoArmagedom) { estado = EncounterState.emEspera; } } break; case EncounterState.passouDeNivel: if (passou.Update()) { estado = EncounterState.VoltarParaPasseio; } break; } return(retorno); }