public override void SaveToNode(ConfigNode node, bool serializing) { base.SaveToNode(node, serializing); foreach (var value in List) { node.AddValue(ConfigName, CFGUtil.FormatConfigValue(value)); } }
public override void SaveToNode(ConfigNode node, bool serializing) { base.SaveToNode(node, serializing); if (Value.IsNull()) { return; } node.AddValue(ConfigName, CFGUtil.FormatConfigValue(Value)); }
public override void LoadFromNode(ConfigNode node) { base.LoadFromNode(node); var value = node.GetValue(ConfigName); if (value.IsNull()) { return; } Value = CFGUtil.ParseConfigValue(ElementType, value); }
public override void LoadFromNode(ConfigNode node) { base.LoadFromNode(node); var newNode = node.GetNode(ConfigName); if (newNode.IsNull()) { return; } var value = (IConfigNode)Value; CFGUtil.AssignConfigObject(this, newNode, ref value); Value = value; }
public static void AssignConfigObject(ConfigFieldInfo field, string value, ref object result) { object parseResult = CFGUtil.ParseConfigValue(field.ElementType, value); if (parseResult == null) { return; } if (result.IsNotNull() && (result is UnityEngine.Object) && field.Attribute.destroy) { UnityEngine.Object.Destroy((UnityEngine.Object)result); } result = parseResult; return; }
public override void LoadFromNode(ConfigNode node) { base.LoadFromNode(node); var values = node.GetValues(ConfigName); if (values.Length == 0) { return; } CreateListIfNecessary(); bool createNewItems = false; if (Count != values.Length) { ClearList(); createNewItems = true; } for (int i = 0; i < values.Length; i++) { object obj = null; if (!createNewItems) { obj = List[i]; } CFGUtil.AssignConfigObject(this, values[i], ref obj); if (createNewItems) { List.Add(obj); } else { List[i] = obj; // This may be self-assignment under certain circumstances } } }
static B9TankSettings() { CFGUtil.RegisterParseType <PartResourceDefinition>(FindResourceDefinition, x => x.name); CFGUtil.RegisterParseType <TankType>(B9TankSettings.GetTankType, x => x.tankName); }