public InventoryParams(XElement element, CharacterParams character) : base(element, character) { foreach (var itemElement in element.GetChildElements("item")) { var item = new InventoryItem(itemElement, character); SubParams.Add(item); Items.Add(item); } }
public AIParams(XElement element, CharacterParams character) : base(element, character) { if (element == null) { return; } element.GetChildElements("target").ForEach(t => TryAddTarget(t, out _)); element.GetChildElements("targetpriority").ForEach(t => TryAddTarget(t, out _)); }
public MonsterMission(MissionPrefab prefab, Location[] locations) : base(prefab, locations) { string speciesName = prefab.ConfigElement.GetAttributeString("monsterfile", null); if (!string.IsNullOrEmpty(speciesName)) { var characterPrefab = CharacterPrefab.FindBySpeciesName(speciesName); if (characterPrefab != null) { int monsterCount = Math.Min(prefab.ConfigElement.GetAttributeInt("monstercount", 1), 255); monsterPrefabs.Add(new Tuple <CharacterPrefab, Point>(characterPrefab, new Point(monsterCount))); } else { DebugConsole.ThrowError($"Error in monster mission \"{prefab.Identifier}\". Could not find a character prefab with the name \"{speciesName}\"."); } } maxSonarMarkerDistance = prefab.ConfigElement.GetAttributeFloat("maxsonarmarkerdistance", 10000.0f); foreach (var monsterElement in prefab.ConfigElement.GetChildElements("monster")) { speciesName = monsterElement.GetAttributeString("character", string.Empty); int defaultCount = monsterElement.GetAttributeInt("count", -1); if (defaultCount < 0) { defaultCount = monsterElement.GetAttributeInt("amount", 1); } int min = Math.Min(monsterElement.GetAttributeInt("min", defaultCount), 255); int max = Math.Min(Math.Max(min, monsterElement.GetAttributeInt("max", defaultCount)), 255); var characterPrefab = CharacterPrefab.FindBySpeciesName(speciesName); if (characterPrefab != null) { monsterPrefabs.Add(new Tuple <CharacterPrefab, Point>(characterPrefab, new Point(min, max))); } else { DebugConsole.ThrowError($"Error in monster mission \"{prefab.Identifier}\". Could not find a character prefab with the name \"{speciesName}\"."); } } if (monsterPrefabs.Any()) { var characterParams = new CharacterParams(monsterPrefabs.First().Item1.FilePath); description = description.Replace("[monster]", TextManager.Get("character." + characterParams.SpeciesTranslationOverride, returnNull: true) ?? TextManager.Get("character." + characterParams.SpeciesName)); } }
public SubParam(XElement element, CharacterParams character) { Element = element; Character = character; SerializableProperties = SerializableProperty.DeserializeProperties(this, element); }
public TargetParams(string tag, AIState state, float priority, CharacterParams character) : base(CreateNewElement(tag, state, priority), character) { }
public TargetParams(XElement element, CharacterParams character) : base(element, character) { }
public InventoryItem(XElement element, CharacterParams character) : base(element, character) { }
// TODO: limbhealths, sprite? public HealthParams(XElement element, CharacterParams character) : base(element, character) { }
public ParticleParams(XElement element, CharacterParams character) : base(element, character) { }
public SoundParams(XElement element, CharacterParams character) : base(element, character) { }