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