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