public HealthBar(string entityName, float initialHealth, Rectangle elementRectangle, GameTime gameTime) : base(elementRectangle)
        {
            this.initialHealth = initialHealth;
            AddElement(new GUILabel(new Point(elementRectangle.X + ((2 * elementRectangle.Width) / 3), elementRectangle.Center.Y), entityName, GameButton.TextFont, Color.Black, new Rectangle(elementRectangle.X + (elementRectangle.Width / 3), elementRectangle.Y, (elementRectangle.Width * 2) / 3, elementRectangle.Height)));
            indicatorScale = Math.Min(elementRectangle.Height / HealthIndicators[0].textures[0].Height, elementRectangle.Width / HealthIndicators[0].textures[0].Width);

            healthIndicator = new BasicSpriteManager(gameTime, HealthIndicators[0]);
        }
 public SpriteParticle(GameMap gameMap, GameTime gameTime, RectangleF collisionRectangle, Vector2 initialVelocity, SpriteSheet spriteSheet, float initialAngularVelocity = 0, int lifetime = Particle.DEFAULT_PARTICLE_LIFETIME, bool endAfterLoop = false, bool ignoreCollisions = false, bool enableRotation = false, RigidBody.VelocityRestriction[] allowedCollisionsOverride = null) : base(gameMap, gameTime, FitRecToSprite(collisionRectangle, spriteSheet.textures[0]), initialVelocity, lifetime, ignoreCollisions, enableRotation: enableRotation)
 {
     this.gameMap  = gameMap;
     spriteManager = new BasicSpriteManager(gameTime, spriteSheet);
     if (endAfterLoop)
     {
         spriteManager.OnSpriteEnd += SpriteManager_OnSpriteEnd;
     }
     rigidBody.AddAngularVelocity(initialAngularVelocity, isGlobal: false);
     if (allowedCollisionsOverride != null)
     {
         rigidBody.AllowedCollisions = allowedCollisionsOverride;
     }
 }