public PreferredContainer(XElement element) { Primary = XMLExtensions.GetAttributeStringArray(element, "primary", new string[0]).ToHashSet(); Secondary = XMLExtensions.GetAttributeStringArray(element, "secondary", new string[0]).ToHashSet(); SpawnProbability = element.GetAttributeFloat("spawnprobability", 0.0f); MinAmount = element.GetAttributeInt("minamount", 0); MaxAmount = Math.Max(MinAmount, element.GetAttributeInt("maxamount", 0)); MaxCondition = element.GetAttributeFloat("maxcondition", 100f); MinCondition = element.GetAttributeFloat("mincondition", 0f); if (element.Attribute("spawnprobability") == null) { //if spawn probability is not defined but amount is, assume the probability is 1 if (MaxAmount > 0) { SpawnProbability = 1.0f; } } else if (element.Attribute("minamount") == null && element.Attribute("maxamount") == null) { //spawn probability defined but amount isn't, assume amount is 1 MinAmount = MaxAmount = 1; SpawnProbability = element.GetAttributeFloat("spawnprobability", 0.0f); } }
public WreckAIConfig(XElement element) { SerializableProperties = SerializableProperty.DeserializeProperties(this, element); ForbiddenAmmunition = XMLExtensions.GetAttributeStringArray(element, "ForbiddenAmmunition", new string[0], convertToLowerInvariant: true); }