Ejemplo n.º 1
0
        public override void update(float elapsedTime, Vida vidaPersona)
        {
            girar();

            Vector3 pos = GuiController.Instance.CurrentCamera.getPosition();
            Vector3 dir_escape = enemigo.mesh.Position - pos;
            float dist = dir_escape.Length();
            dir_escape.Y = 0;

            TgcBoundingBox algo = enemigo.mesh.BoundingBox;
            Vector3 posAnterior = enemigo.mesh.Position;

            enemigo.mesh.playAnimation(enemigo.enemigoAmigacion, true, 20);

            int milisegundosEspera = Juego.Instance.esperaDañoMilisegundos;
            if (Math.Abs(dist) < 100)
            {
                if (Juego.Instance.esperaCorrecta(tiempoDaño, -1, 1, milisegundosEspera))
                {
                    tiempoDaño = DateTime.Now.TimeOfDay;
                    vidaPersona.restaAtaqueEnemigo();
                }
            }
            else
            {
                enemigo.setEstado(new EnemigoPersiguiendo(enemigo));
            }

            enemigo.mesh.updateAnimation();
        }