public override void LoadXml(XElement node) { XElement maxNode = node.Element("Max"); if (maxNode != null) { maxHealth = maxNode.GetValue <float>(); } StartHealth = node.TryAttribute <float>("startValue", MaxHealth); XElement meterNode = node.Element("Meter"); if (meterNode != null) { var meterInfo = HandlerXmlReader.LoadMeter(meterNode, Game.CurrentGame.BasePath); meter = HealthMeter.Create(meterInfo, true); meter.MaxValue = maxHealth; meter.IsPlayer = (Parent.Name == "Player"); } XElement flashNode = node.Element("Flash"); if (flashNode != null) { flashtime = flashNode.TryValue <int>(); } }
public override void LoadXml(XElement node) { foreach (XElement weapon in node.Elements("Weapon")) { string name = weapon.RequireAttribute("name").Value; string entity = weapon.RequireAttribute("entity").Value; int ammo = weapon.TryAttribute <int>("ammo", -1); int usage = weapon.TryAttribute <int>("usage", 1); int?palette = weapon.TryAttribute <int?>("palette"); HealthMeter meter = null; XElement meterNode = weapon.Element("Meter"); if (meterNode != null) { var meterInfo = HandlerXmlReader.LoadMeter(meterNode, Game.CurrentGame.BasePath); meter = HealthMeter.Create(meterInfo, true); meter.MaxValue = ammo; meter.Reset(); } AddWeapon(name, entity, ammo, usage, meter, palette); } }
public static HealthMeter Create(MeterInfo info, bool inGamePlay) { var meter = new HealthMeter(); meter.LoadInfo(info); meter.inGamePlay = inGamePlay; if (inGamePlay) { allMeters.Add(meter); } return(meter); }
public void LoadInfo(HealthComponentInfo info) { maxHealth = info.Max; StartHealth = info.StartValue ?? info.Max; flashtime = info.FlashFrames; if (info.Meter != null) { meter = HealthMeter.Create(info.Meter, true); meter.MaxValue = maxHealth; meter.IsPlayer = (Parent.Name == "Player"); } }
public void LoadInfo(WeaponComponentInfo info) { foreach (var weapon in info.Weapons) { HealthMeter meter = null; if (weapon.Meter != null) { meter = HealthMeter.Create(weapon.Meter, true); } AddWeapon(weapon.Name, weapon.EntityName, weapon.Ammo ?? -1, weapon.Usage ?? 1, meter, weapon.Palette); } }
public void Unload() { Engine.Instance.Stop(); _stateMachine.StopAllHandlers(); _entitySource.Unload(); Engine.Instance.UnloadAudio(); FontSystem.Unload(); HealthMeter.Unload(); Scene.Unload(); Menu.Unload(); PaletteSystem.Unload(); EffectParser.Unload(); CurrentGame = null; }
public void AddWeapon(string name, string entity, int ammo, int usage, HealthMeter meter, int? palette) { if (weapons.Any(info => info.Name == name)) { return; } WeaponInfo weapon = new WeaponInfo { Name = name, Entity = entity, Ammo = ammo, Max = ammo, Usage = usage, Meter = meter, Palette = palette, Index = weapons.Count }; weapons.Add(weapon); }
public void AddWeapon(string name, string entity, int ammo, int usage, HealthMeter meter, int?palette) { if (weapons.Any(info => info.Name == name)) { return; } WeaponInfo weapon = new WeaponInfo { Name = name, Entity = entity, Ammo = ammo, Max = ammo, Usage = usage, Meter = meter, Palette = palette, Index = weapons.Count }; weapons.Add(weapon); }
private void AddCommand(SceneAddCommandInfo command) { var obj = Info.Objects[command.Object]; IHandlerObject handler = null; if (obj is HandlerSpriteInfo) { handler = new HandlerSprite(((HandlerSpriteInfo)obj).Sprite, new Point(command.X, command.Y)); } else if (obj is MeterInfo) { handler = new HandlerMeter(HealthMeter.Create((MeterInfo)obj, false), this); } handler.Start(); var name = command.Name ?? Guid.NewGuid().ToString(); if (!objects.ContainsKey(name)) { objects.Add(name, handler); } }
public override void LoadXml(XElement node) { XElement maxNode = node.Element("Max"); if (maxNode != null) { maxHealth = maxNode.GetValue<float>(); } StartHealth = node.TryAttribute<float>("startValue", MaxHealth); XElement meterNode = node.Element("Meter"); if (meterNode != null) { var meterInfo = HandlerXmlReader.LoadMeter(meterNode, Game.CurrentGame.BasePath); meter = HealthMeter.Create(meterInfo, true); meter.MaxValue = maxHealth; meter.IsPlayer = (Parent.Name == "Player"); } XElement flashNode = node.Element("Flash"); if (flashNode != null) { flashtime = flashNode.TryValue<int>(); } }
public HandlerMeter(HealthMeter meter, IGameplayContainer container) { this.Meter = meter; this.container = container; }
public static HealthMeter Create(MeterInfo info, bool inGamePlay) { var meter = new HealthMeter(); meter.LoadInfo(info); meter.inGamePlay = inGamePlay; if (inGamePlay) allMeters.Add(meter); return meter; }