void spawnMissileIfDelayReached(float deltaTime, Entity e, TargetMissileSpawnerComponent missile) { if (missile.time < 0.0f) { missile.time = missile.spawnDelay; spawnMissile(missile, e.position.pos); } }
void spawnMissile(TargetMissileSpawnerComponent missile, Vector2 position) { pool.CreateEntity() .AddPosition(new Vector2(position.x, position.y)) .AddVelocityLimit(missile.velocity) .AddHealth(0) .AddFindTarget(missile.targetCollisionType) .AddCollision(missile.collisionType, missile.damage) .AddFaceDirection(false) .IsTargetMissile(true) .AddResource(missile.resource); }