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); } } }
private void AgregarEnemigo() { Vector3 posicion = this.PosicionEnemigo(); Enemigo enemigo = new Enemigo(posicion); enemigo.id = idEnemigo; idEnemigo++; listaEnemigos.Add(enemigo); }
public bool ColisionEnemigoConObjetos(Enemigo enemigo) { foreach (TgcMesh obstaculo in escenario.ObjetosConColisionCerca(enemigo.BoundingBoxEnemigo())) { if (TgcCollisionUtils.testAABBAABB(enemigo.BoundingBoxEnemigo(), obstaculo.BoundingBox)) { return(true); } } return(false); }
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); }
public bool ColisionEnemigoConObjetos(Enemigo enemigo) { foreach (TgcMesh obstaculo in escenario.ObjetosConColisionCerca(enemigo.BoundingBoxEnemigo())) { if (TgcCollisionUtils.testAABBAABB(enemigo.BoundingBoxEnemigo(), obstaculo.BoundingBox)) return true; } return false; }
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; }