Beispiel #1
0
        public void Update(float elapsedTime)
        {
            int spawnEnemigosOld = (int)spawnEnemigos;
            velocidadSpawn += aceleracionSpawn * elapsedTime;
            spawnEnemigos += velocidadSpawn * elapsedTime;
            int restaSpawnEnemigos = (int)spawnEnemigos - spawnEnemigosOld;

            for (int i = 0; i < restaSpawnEnemigos; i++)
            {
                this.AgregarEnemigo();
            }

            for (int i = 0; i < listaEnemigos.Count; i++)
            {
                Enemigo enemigo = listaEnemigos[i];
                
                enemigo.Update(elapsedTime);

                if (enemigo.TerminoDeMorir)
                {
                    enemigo.Dispose();
                    listaEnemigos.RemoveAt(i);
                }
            }
        }
Beispiel #2
0
 private void AgregarEnemigo()
 {
     Vector3 posicion = this.PosicionEnemigo();
     Enemigo enemigo = new Enemigo(posicion);
     enemigo.id = idEnemigo;
     idEnemigo++;
     listaEnemigos.Add(enemigo);
 }
Beispiel #3
0
 public bool ColisionEnemigoConObjetos(Enemigo enemigo)
 {
     foreach (TgcMesh obstaculo in escenario.ObjetosConColisionCerca(enemigo.BoundingBoxEnemigo()))
     {
         if (TgcCollisionUtils.testAABBAABB(enemigo.BoundingBoxEnemigo(), obstaculo.BoundingBox))
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #4
0
 public bool ColisionEnemigoConEnemigos(Enemigo enemigo, out Enemigo enemigoColision)
 {
     foreach (Enemigo otroEnemigo in enemigos.ListaDeEnemigos())
     {
         if (enemigo == otroEnemigo)
         {
             continue;
         }
         if (TgcCollisionUtils.testAABBAABB(enemigo.BoundingBoxEnemigo(), otroEnemigo.BoundingBoxEnemigo()))
         {
             enemigoColision = otroEnemigo;
             return(true);
         }
     }
     enemigoColision = null;
     return(false);
 }
Beispiel #5
0
 private void AgregarEnemigo()
 {
     Vector3 posicion = this.PosicionEnemigo();
     Enemigo enemigo = new Enemigo(posicion);
     enemigo.id = idEnemigo;
     idEnemigo++;
     listaEnemigos.Add(enemigo);
 }
Beispiel #6
0
 public bool ColisionEnemigoConObjetos(Enemigo enemigo)
 {
     foreach (TgcMesh obstaculo in escenario.ObjetosConColisionCerca(enemigo.BoundingBoxEnemigo()))
     {
         if (TgcCollisionUtils.testAABBAABB(enemigo.BoundingBoxEnemigo(), obstaculo.BoundingBox))
             return true;
     }
     return false;
 }
Beispiel #7
0
 public bool ColisionEnemigoConEnemigos(Enemigo enemigo, out Enemigo enemigoColision)
 {
     foreach (Enemigo otroEnemigo in enemigos.ListaDeEnemigos())
     {
         if (enemigo == otroEnemigo)
             continue;
         if (TgcCollisionUtils.testAABBAABB(enemigo.BoundingBoxEnemigo(), otroEnemigo.BoundingBoxEnemigo()))
         {
             enemigoColision = otroEnemigo;
             return true;
         }
     }
     enemigoColision = null;
     return false;
 }