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