private IntegerSetting(SettingJsonNode node) : base(node)
 {
     DefaultValue = node.Values.IntegerDefault();
     Range        = node.Values.Type == ValueJsonType.RangeInt;
     Step         = Range ? node.Values.IntegerStep() : null;
     Values       = ValueJsonNode.LoadValues(node.Values.List, n => n.IntegerValue());
 }
 private FloatSetting(SettingJsonNode node) : base(node)
 {
     DefaultValue = node.Values.FloatDefault();
     Range        = node.Values.Type == ValueJsonType.RangeFloat;
     Step         = Range ? node.Values.FloatStep() : null;
     Values       = ValueJsonNode.LoadValues(node.Values.List, n => n.FloatValue());
 }
 public override void ExctractValueNodes(List <ValueJsonNode> nodes) =>
 ValueJsonNode.ValuesToNodes(Values, nodes, v => v.ToString());
 private StringParameter(ParamJsonNode node) : base(node)
 {
     DefaultValue = node.Values.DefaultValue;
     Values       = ValueJsonNode.LoadValues(node.Values.List, n => n.Value);
 }
 private IntegerParameter(ParamJsonNode node) : base(node)
 {
     DefaultValue = node.Values.IntegerDefault();
     Values       = ValueJsonNode.LoadValues(node.Values.List, n => n.IntegerValue());
 }
 public override void ExctractValueNodes(List <ValueJsonNode> nodes) =>
 ValueJsonNode.ValuesToNodes(Values, nodes, v => v.ToString(CultureInfo.InvariantCulture));