public HUD(AbstractCharacter character) { this.character = character; this.maxHealth = character.HealthLevel; this.vertOffset = 2; this.vertOffsetScore = 8; this.horizOffset = new int[maxHealth + 3]; this.heartEmpty = new AbstractAnimatedSprite[maxHealth]; this.heartFull = new AbstractAnimatedSprite[maxHealth]; for (int i = 0; i < maxHealth; i++) { this.horizOffset[i] = 2 + 18 * i; this.heartEmpty[i] = SpriteFactory.GetHeartEmptySprite(); this.heartFull[i] = SpriteFactory.GetHeartFullSprite(); } this.horizOffset[maxHealth] = this.horizOffset[maxHealth - 1] + 34; this.horizOffset[maxHealth + 1] = this.horizOffset[maxHealth] + 34; this.horizOffset[maxHealth + 2] = this.horizOffset[maxHealth + 1] + 200; this.powerUpViewer = SpriteFactory.GetPowerUpViewerSprite(); this.waterMeter0p = SpriteFactory.GetWaterMeter0pSprite(); this.waterMeter25p = SpriteFactory.GetWaterMeter25pSprite(); this.waterMeter50p = SpriteFactory.GetWaterMeter50pSprite(); this.waterMeter75p = SpriteFactory.GetWaterMeter75pSprite(); this.waterMeter100p = SpriteFactory.GetWaterMeter100pSprite(); this.sunscreen = SpriteFactory.GetSunscreenSprite(); this.invincibilityStar = SpriteFactory.GetInvincibilityStarSprite(); this.bubbleShield = SpriteFactory.GetBubbleShieldSprite(); }
public void Parse(IEnumerable <XElement> collectables) { foreach (XElement element in collectables) { int dur = ParseDuration(element); Rectangle position = ParsePosition(element); CollisionType collisionType = ParseCollisionType(element); string message = ParseMessage(element); if (element.Name.ToString().Equals(GenericParser.star)) { InvincibilityStar s = new InvincibilityStar(SpriteFactory.GetInvincibilityStarSprite(), dur, position, collisionType, message); CollectablesList.Add(s); } else if (element.Name.ToString().Equals(GenericParser.bottle)) { WaterBottle b = new WaterBottle(SpriteFactory.GetWaterBottleSprite(), dur, position, collisionType, message); CollectablesList.Add(b); } else if (element.Name.ToString().Equals(GenericParser.healthAttr)) { HealthBottle health = new HealthBottle(position, SpriteFactory.GetHealthBottleSprite(), collisionType, dur, message); CollectablesList.Add(health); } else if (element.Name.ToString().Equals(GenericParser.coin)) { Coin coin = new Coin(position, SpriteFactory.GetCoinSprite(), collisionType, dur, message); CollectablesList.Add(coin); } } }