void spawnMissile(MissileSpawnerComponent missile, Vector2 position) { _pool.CreateEntity() .AddPosition(new Vector2().Set(position)) .AddVelocity(new Vector2(missile.velocityX, missile.velocityY)) .AddHealth(0) .AddCollision(missile.collisionType) .AddResource(missile.resource); }
void spawnMissile(MissileSpawnerComponent missile, Vector2 position) { _pool.CreateEntity() .AddPosition(new Vector2().Set(position)) .AddVelocity(new Vector2(missile.velocityX, missile.velocityY)) .AddHealth(0) .AddCollision(missile.collisionType) .AddResource(missile.resource); }
void spawnMissile(MissileSpawnerComponent missile, Vector2 position) { _pool.CreateEntity() .AddPosition(new Vector2().Set(position)) .AddVelocity(new Vector2().Set(missile.velocity)) .AddHealth(0) .AddCollision(missile.collisionType, missile.damage) .AddExplosionOnDeath(1.5f, Resource.ExplosionMissile) .AddFaceDirection(false) .AddResource(missile.resource); }
public void Execute() { float deltaTime = _time.GetSingleEntity().time.deltaTime; foreach (Entity e in _missiles.GetEntities()) { MissileSpawnerComponent missile = e.missileSpawner; missile.time -= deltaTime; if (missile.time < 0.0f) { missile.time = missile.spawnDelay; spawnMissile(missile, e.position.pos); } } }