// Update is called once per frame void Update() { //Debug.DrawRay(transform.position, Vector3.up); switch (estado) { case CreatureState.parado: case CreatureState.emDano: case CreatureState.aplicandoGolpe: if (mov != null) { mov.AplicadorDeMovimentos(Vector3.zero, meuCriatureBase.CaracCriature.distanciaFundamentadora, transform); } else { SetaMov(); } break; case CreatureState.seguindo: case CreatureState.selvagem: ia.Update(); break; case CreatureState.aPasseio: case CreatureState.emLuta: Vector3 dir = Vector3.zero; if (comandR != null) { dir = comandR.VetorDirecao(); if (estado == CreatureState.emLuta) { dir = comandR.DirDeEixos(); dir = direcaoInduzida(dir.x, dir.z); } else { dir = comandR.VetorDirecao(); } } if (mov == null) { SetaMov(); } else { int temStatus = StatusTemporarioBase.ContemStatus(TipoStatus.amedrontado, meuCriatureBase); if (temStatus > -1) { dir *= 1 / (float)meuCriatureBase.StatusTemporarios[temStatus].Quantificador; } if (!GameController.g.HudM.MenuDePause.EmPause) { mov.AplicadorDeMovimentos(dir, meuCriatureBase.CaracCriature.distanciaFundamentadora, transform); } } break; } }