Пример #1
0
        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);
        }