예제 #1
0
        /**************** DISPARO *****************************/

        public void verificarDisparo(Bala bala)
        {
            if (TgcCollisionUtils.testSphereAABB(bala.bullet.BoundingSphere, mesh.BoundingBox))
            {
                GuiController.Instance.Logger.log("LE DI!");
                timer.activo = true;
                reducirVida();
                bala.dispose();
            }
        }
예제 #2
0
        public void actualizarSiEsEnemigo(float anguloRotacion, float elapsedTime, float velBarco, Vector3 distancia)
        {
            this.calcularAnguloElevacion(distancia);
            timer.doWhenItsTimeTo(() => this.shoot(elapsedTime, anguloRotacion, velBarco), elapsedTime);

            for (int i = 0; i < balasEnElAire.Count; i++)
            {
                Bala bala = balasEnElAire[i];
                bala.actualizar(elapsedTime);
                bala.render();
            }
        }
예제 #3
0
        public void actualizarSiEsJugador(float anguloRotacion, float elapsedTime, float velBarco)
        {
            if (input.keyPressed(Key.A))
            {
                elevacion_visible = elevacion_visible ? false : true;
            }

            if (input.keyPressed(Key.Space))
            {
                if (balasRestantes >= 0)
                {
                    shoot(elapsedTime, anguloRotacion, velBarco);
                }
                else
                {
                    if (EjemploAlumno.Instance.shipContrincante.tieneVida())
                    {
                        EjemploAlumno.Instance.estado = EstadoDelJuego.Perdido;
                    }
                }
            }

            if (input.keyDown(Key.W))
            {
                incrementarAnguloElevacion(elapsedTime);
            }

            if (input.keyDown(Key.S))
            {
                decrementarAnguloElevacion(elapsedTime);
            }


            //foreach (Bala bala in balasEnElAire)
            for (int i = 0; i < balasEnElAire.Count; i++)
            {
                Bala bala = balasEnElAire[i];
                bala.actualizar(elapsedTime);
                bala.render();
            }
        }
예제 #4
0
 public void eliminarBalaEnElAire(Bala bala)
 {
     this.balasEnElAire.Remove(bala);
 }
예제 #5
0
 public void agregarBalaEnElAire(Bala bala)
 {
     this.balasEnElAire.Add(bala);
 }
예제 #6
0
 /**************** DISPARO *****************************/
 public void verificarDisparo(Bala bala)
 {
     if (TgcCollisionUtils.testSphereAABB(bala.bullet.BoundingSphere, mesh.BoundingBox))
     {
         GuiController.Instance.Logger.log("LE DI!");
         timer.activo = true;
         reducirVida();
         bala.dispose();
     }
 }
예제 #7
0
 public void eliminarBalaEnElAire(Bala bala)
 {
     this.balasEnElAire.Remove(bala);
 }
예제 #8
0
 public void agregarBalaEnElAire(Bala bala)
 {
     this.balasEnElAire.Add(bala);
 }