public override void AddSpaceship(Entity e, Vector2 position, float rotation, IntentManager intentManager)
        {
            base.AddSpaceship(e, position, rotation, intentManager);

            e.AddComponent(new TextureComponent(Assets.Get <Texture2D>(GameConfig.Folders.Textures, GameConfig.Spaceship.DefaultTexture), Vector2.One * GameConfig.Spaceship.Size, GameConfig.Spaceship.Origin, 0.7f));
            e.AddComponent(new ParticleSpawnComponent(5, new Vector2(0, GameConfig.Spaceship.Size / 2f), Color.White, MathHelper.PiOver4));

            SpriteAnimation animation = Assets.LoadSpriteSheet(GameConfig.Spaceship.FlameAnimationSheet).GetSpriteAnimation(GameConfig.Spaceship.FlameAnimation);

            animation.Duration = 0.5f;
            animation.Origin   = new Vector2(450, 400);
            animation.Initialize();
            e.AddComponent(new SpriteAnimationComponent(animation, 0.02f, new Vector2(0, GameConfig.Spaceship.Size / 2f)));
        }
 public override void AddMissile(Entity e, Vector2 position, float rotation)
 {
     base.AddMissile(e, position, rotation);
     e.AddComponent(new TextureComponent(Assets.Get <Texture2D>(GameConfig.Folders.Textures, "missile-512"), Vector2.One * GameConfig.Projectile.Size * 4, 0.5f));
 }
 public override void AddAsteroid(Entity e, Vector2 position, float rotation, Vector2 scale)
 {
     base.AddAsteroid(e, position, rotation, scale);
     e.AddComponent(new TextureComponent(Assets.Get <Texture2D>(GameConfig.Folders.Textures,
                                                                (Math.Floor(position.X) % 2 == 0 || Math.Floor(position.Y) % 2 == 0) ? GameConfig.Asteroid.Textures[0] : GameConfig.Asteroid.Textures[1]), scale * GameConfig.Asteroid.Large, 0.4f));
 }