public KerbalismContractRequirement(ConfigNode node) { name = Lib.ConfigValue(node, "name", ""); title = Lib.ConfigValue(node, "title", ""); notes = Lib.ConfigValue(node, "notes", ""); max_step = Lib.ConfigValue(node, "max_step", int.MaxValue); Utils.LogDebug($"Loading requirement '{name}'"); SubRequirements = new List <SubRequirement>(); foreach (var requirementNode in node.GetNodes("Requirement")) { SubRequirement sr = SubRequirement.Load(this, requirementNode); if (sr == null) { continue; } SubRequirements.Add(sr); } if (SubRequirements.Count == 0) { Utils.Log($"Requirement '{name}' has no sub requirements", LogLevel.Error); } }
public SubRequirementParameter(SubRequirement subRequirement) { titleTracker = new TitleTracker(this); this.subRequirement = subRequirement; this.requirementId = subRequirement.parent.name; this.subRequirementType = subRequirement.type; optional = true; }
protected override void OnLoad(ConfigNode node) { base.OnLoad(node); requirementId = ConfigNodeUtil.ParseValue <string>(node, "requirementId", ""); subRequirementType = ConfigNodeUtil.ParseValue <string>(node, "subRequirementType", ""); var requirement = Configuration.Requirement(requirementId); subRequirement = requirement.SubRequirements.Find(sr => sr.type == subRequirementType); }