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);
 }