public override void Initialize(XmlElement node, GameDataManager manager) { ID = node.GetAttribute("ID"); Damage = float.Parse(node.GetAttribute("Damage"), CultureInfo.InvariantCulture); Mass = float.Parse(node.GetAttribute("Mass"), CultureInfo.InvariantCulture); HP = float.Parse(node.GetAttribute("HP"), CultureInfo.InvariantCulture); }
public TurretData(XmlElement node, GameDataManager manager) { Weapon = manager.Weapons[node.GetAttribute("Weapon")]; Sprite = manager.Sprites[node.GetAttribute("Sprite")]; string[] position = node.GetAttribute("Position").Split(','); Position = new Vector2(float.Parse(position[0], CultureInfo.InvariantCulture), float.Parse(position[1], CultureInfo.InvariantCulture)); MinAngle = float.Parse(node.GetAttribute("MinAngle"), CultureInfo.InvariantCulture); MaxAngle = float.Parse(node.GetAttribute("MaxAngle"), CultureInfo.InvariantCulture); TurnSpeed = float.Parse(node.GetAttribute("TurnSpeed"), CultureInfo.InvariantCulture); }
public ShieldData(XmlElement node, GameDataManager manager) { Radius = float.Parse(node.GetAttribute("Radius"), CultureInfo.InvariantCulture); HP = float.Parse(node.GetAttribute("HP"), CultureInfo.InvariantCulture); Regeneration = float.Parse(node.GetAttribute("Regeneration"), CultureInfo.InvariantCulture); List <ResourceAmount> resourceUsage = new List <ResourceAmount>(); foreach (XmlElement subnode in node.ChildNodes.OfType <XmlElement>()) { resourceUsage.Add(new ResourceAmount(subnode, manager)); } ResourceUsage = resourceUsage.ToArray(); }
public ThrusterData(XmlElement node, GameDataManager manager) { Thrust = float.Parse(node.GetAttribute("Thrust"), CultureInfo.InvariantCulture); Direction = float.Parse(node.GetAttribute("Direction"), CultureInfo.InvariantCulture); List <ResourceAmount> resourceUsage = new List <ResourceAmount>(); foreach (XmlElement subnode in node.ChildNodes.OfType <XmlElement>()) { ResourceData type = manager.Resources[subnode.GetAttribute("ID")]; float amount = float.Parse(subnode.GetAttribute("Amount"), CultureInfo.InvariantCulture); resourceUsage.Add(new ResourceAmount(type, amount)); } ResourceUsage = resourceUsage.ToArray(); }
public ResourceStorageData(XmlElement node, GameDataManager manager) { Maximum = float.Parse(node.GetAttribute("Amount"), CultureInfo.InvariantCulture); Exclusive = bool.Parse(node.GetAttribute("Exclusive")); foreach (XmlElement subnode in node.ChildNodes.OfType <XmlElement>()) { ResourceData type = manager.Resources[subnode.GetAttribute("ID")]; switch (subnode.Name) { case "Allow": Allowed.Add(type, true); break; case "Forbid": Allowed.Add(type, false); break; } } }
public override void Initialize(XmlElement node, GameDataManager manager) { BasicSprite sprite = manager.Textures[node.GetAttribute("Texture")]; Texture2D texture = sprite.Texture; string[] offset = node.GetAttribute("Offset").Split(','); int offsetX = int.Parse(offset[0]); int offsetY = int.Parse(offset[1]); string[] size = node.GetAttribute("Size").Split(','); int sizeX = int.Parse(size[0]); int sizeY = int.Parse(size[1]); Rectangle source = new Rectangle(offsetX, offsetY, sizeX, sizeY); source.Offset(sprite.Source.Location); Base = new BasicSprite(texture, source); }
public ResourceProductionData(XmlElement node, GameDataManager manager) { List <ResourceAmount> outputs = new List <ResourceAmount>(); List <ResourceAmount> inputs = new List <ResourceAmount>(); foreach (XmlElement subnode in node.ChildNodes.OfType <XmlElement>()) { switch (subnode.Name) { case "Output": outputs.Add(new ResourceAmount(subnode, manager)); break; case "Input": inputs.Add(new ResourceAmount(subnode, manager)); break; } } Outputs = outputs.ToArray(); Inputs = inputs.ToArray(); }
public override void Initialize(XmlElement node, GameDataManager manager) { ID = node.GetAttribute("ID"); _Title = node.GetAttribute("Title"); _Description = node.GetAttribute("Desc"); Sprite = manager.Sprites[node.GetAttribute("Sprite")]; string[] size = node.GetAttribute("Size").Split(','); Width = int.Parse(size[0]); Height = int.Parse(size[1]); string attachString = node.GetAttribute("Attach"); Attach = new bool[] { attachString.Contains("E"), attachString.Contains("N"), attachString.Contains("W"), attachString.Contains("S") }; Rotatable = bool.Parse(node.GetAttribute("Rotate")); HP = float.Parse(node.GetAttribute("HP"), CultureInfo.InvariantCulture); Mass = float.Parse(node.GetAttribute("Mass"), CultureInfo.InvariantCulture); //MassSquared = Mass * Mass; List <ModuleComponentData> components = new List <ModuleComponentData>(); List <HitElement> hitRegions = new List <HitElement>(); List <ResourceAmount> resourceCost = new List <ResourceAmount>(); foreach (XmlElement subnode in node.ChildNodes.OfType <XmlElement>()) { switch (subnode.Name) { case "ResourceProduction": components.Add(new ResourceProductionData(subnode, manager)); break; case "ResourceStorage": components.Add(new ResourceStorageData(subnode, manager)); break; case "Thruster": components.Add(new ThrusterData(subnode, manager)); break; case "Turret": components.Add(new TurretData(subnode, manager)); break; case "Shield": components.Add(new ShieldData(subnode, manager)); break; case "ResourceCost": resourceCost.Add(new ResourceAmount(subnode, manager)); break; case "HitPolygon":; break; } } Components = components.ToArray(); HitRegions = hitRegions.ToArray(); ResourceCost = resourceCost.ToArray(); }
public override void Initialize(XmlElement node, GameDataManager manager) { ID = node.Attributes.GetNamedItem("ID").Value; Title = node.Attributes.GetNamedItem("Title").Value; Attack = float.Parse(node.GetAttribute("Attack"), CultureInfo.InvariantCulture); Defense = float.Parse(node.GetAttribute("Defense"), CultureInfo.InvariantCulture); Wage = float.Parse(node.GetAttribute("Wage"), CultureInfo.InvariantCulture); List <WorkAmount> workOutputs = new List <WorkAmount>(); foreach (XmlElement subnode in node.ChildNodes.OfType <XmlElement>()) { switch (subnode.Name) { case "WorkOutput": workOutputs.Add(new WorkAmount(subnode, manager)); break; } } WorkOutputs = workOutputs.ToArray(); }
public override void Initialize(XmlElement node, GameDataManager manager) { ID = node.GetAttribute("ID"); Title = node.GetAttribute("Title"); List <ITraitEffectData> effects = new List <ITraitEffectData>(); foreach (XmlElement subnode in node.ChildNodes.OfType <XmlElement>()) { switch (subnode.Name) { case "WorkModifier": effects.Add(new WorkModifier(subnode, manager)); break; case "CrewAttackModifier": effects.Add(new CrewAttackModifier(subnode)); break; case "CrewDefenseModifier": effects.Add(new CrewDefenseModifier(subnode)); break; case "CrewWageModifier": effects.Add(new CrewWageModifier(subnode)); break; } } Effects = effects.ToArray(); }
public override void Initialize(XmlElement node, GameDataManager manager) { ID = node.GetAttribute("ID"); Cooldown = float.Parse(node.GetAttribute("Cooldown"), CultureInfo.InvariantCulture); XmlNodeList projectileNodes = node.SelectNodes("Projectile"); Projectiles = new ProjectileLaunchData[projectileNodes.Count]; for (int i = 0; i < projectileNodes.Count; i++) { Projectiles[i] = new ProjectileLaunchData((XmlElement)projectileNodes[i], manager); } XmlElement reload = (XmlElement)node.SelectSingleNode("Reload"); ReloadTime = float.Parse(reload.GetAttribute("Time"), CultureInfo.InvariantCulture); XmlNodeList resourceUsageNodes = reload.SelectNodes("ResourceUsage"); ReloadCost = new ResourceAmount[resourceUsageNodes.Count]; for (int i = 0; i < resourceUsageNodes.Count; i++) { ReloadCost[i] = new ResourceAmount((XmlElement)resourceUsageNodes[i], manager); } }
public WorkModifier(XmlElement node, GameDataManager manager) { Type = manager.WorkTypes[node.GetAttribute("ID")]; Value = float.Parse(node.GetAttribute("Multiplier"), CultureInfo.InvariantCulture); }
public override void Initialize(XmlElement node, GameDataManager manager) { ID = node.GetAttribute("ID"); Title = node.GetAttribute("Title"); }
public WorkAmount(XmlElement node, GameDataManager manager) { Type = manager.WorkTypes[node.GetAttribute("ID")]; Amount = float.Parse(node.GetAttribute("Amount"), CultureInfo.InvariantCulture); }
public ProjectileLaunchData(XmlElement node, GameDataManager data) { ProjectileData projectile = data.Projectiles[node.GetAttribute("ID")]; float speed = float.Parse(node.GetAttribute("Speed"), CultureInfo.InvariantCulture); float precision = float.Parse(node.GetAttribute("Precision"), CultureInfo.InvariantCulture); }
public abstract void Initialize(XmlElement node, GameDataManager manager);