// Update is called once per frame public virtual bool Update() { switch (estado) { case EstadoDoNPC.parado: contadorDeTempo += Time.deltaTime; if (contadorDeTempo > tempoParado && pontosAlvo.Length > 0) { alvo = pontosAlvo[Random.Range(0, pontosAlvo.Length)].position; contadorDeTempo = 0; estado = EstadoDoNPC.caminhando; } break; case EstadoDoNPC.caminhando: siga.Update(alvo); if (Vector3.Distance(alvo, meuTransform.position) < 2) { siga.PareAgora(); estado = EstadoDoNPC.parado; tempoParado = Random.Range(TEMPO_MIN_PARADO, TEMPO_MAX_PARADO); } break; case EstadoDoNPC.conversando: //AplicadorDeCamera.cam.FocarPonto(5); if (GameController.g.HudM.DisparaT.UpdateDeTextos(conversa, fotoDoNPC)) { FinalizaConversa(); } break; case EstadoDoNPC.finalizadoComBotao: estado = EstadoDoNPC.parado; return(true); } return(false); }
public void SuspendeNav() { siga.PareAgora(); }