|
@@ -14,7 +14,8 @@ namespace WingServerCommon.Config.Parameters
|
|
|
public static IEnumerable<IParameter> Deserialize(string filePath)
|
|
|
{
|
|
|
var content = File.ReadAllText(filePath);
|
|
|
- //TODO Decrypt text
|
|
|
+ var configCrypter = new ConfigCrypter();
|
|
|
+ content = configCrypter.DecryptDES(content);
|
|
|
var childrenList = JToken.Parse(content).Children();
|
|
|
var parameters = new List<IParameter>();
|
|
|
foreach (var child in childrenList)
|
|
@@ -28,7 +29,7 @@ namespace WingServerCommon.Config.Parameters
|
|
|
private static IEnumerable<IParameter> ParseTokenSetions(JToken children)
|
|
|
{
|
|
|
var item = (JProperty)children;
|
|
|
- var parsedParameters = ParseToken(item.Name, item.Value.Children()).ToList();
|
|
|
+ var parsedParameters = ParseToken(item.Name, item.Value.Children()).ToList();
|
|
|
return parsedParameters;
|
|
|
}
|
|
|
|
|
@@ -47,18 +48,18 @@ namespace WingServerCommon.Config.Parameters
|
|
|
if (item.Value is JObject jObject)
|
|
|
{
|
|
|
if (IsRangeParameter(jObject))
|
|
|
- {
|
|
|
- var parameter = ParseRangeParameter(jObject, item.Name);
|
|
|
+ {
|
|
|
+ var parameter = ParseRangeParameter(jObject, item.Name);
|
|
|
parameter.Section = sectionName;
|
|
|
- parameters.Add(parameter);
|
|
|
+ parameters.Add(parameter);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
if (IsEnumParameter(jObject))
|
|
|
- {
|
|
|
- var parameter = ParseEnumParameter(item.Name, jObject);
|
|
|
- parameter.Section = sectionName;
|
|
|
- parameters.Add(parameter);
|
|
|
+ {
|
|
|
+ var parameter = ParseEnumParameter(item.Name, jObject);
|
|
|
+ parameter.Section = sectionName;
|
|
|
+ parameters.Add(parameter);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -88,18 +89,18 @@ namespace WingServerCommon.Config.Parameters
|
|
|
|
|
|
private static IParameter ParseEnumParameter(string name, JObject jObject)
|
|
|
{
|
|
|
- var defaultValue = jObject["DefaultValue"]?.Value<JValue>();
|
|
|
- switch (defaultValue?.Type)
|
|
|
- {
|
|
|
- case JTokenType.String:
|
|
|
- return new EnumStringParameter
|
|
|
- {
|
|
|
- Name = name,
|
|
|
- Source = jObject["Source"].Values<string>().ToList(),
|
|
|
- Value = defaultValue.Value<string>()
|
|
|
- };
|
|
|
- //TODO other types
|
|
|
- }
|
|
|
+ var defaultValue = jObject["DefaultValue"]?.Value<JValue>();
|
|
|
+ switch (defaultValue?.Type)
|
|
|
+ {
|
|
|
+ case JTokenType.String:
|
|
|
+ return new EnumStringParameter
|
|
|
+ {
|
|
|
+ Name = name,
|
|
|
+ Source = jObject["Source"].Values<string>().ToList(),
|
|
|
+ Value = defaultValue.Value<string>()
|
|
|
+ };
|
|
|
+ //TODO other types
|
|
|
+ }
|
|
|
|
|
|
throw new ArgumentException($"Invalid enum parameter {name}.");
|
|
|
}
|
|
@@ -122,7 +123,7 @@ namespace WingServerCommon.Config.Parameters
|
|
|
Value = defaultValue,
|
|
|
MaxValue = maxValue,
|
|
|
MinValue = minValue
|
|
|
- };
|
|
|
+ };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -135,14 +136,14 @@ namespace WingServerCommon.Config.Parameters
|
|
|
Value = defaultValue,
|
|
|
MaxValue = maxValue,
|
|
|
MinValue = minValue
|
|
|
- };
|
|
|
+ };
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
throw new ArgumentException($"Invalid range parameter with name {key}.");
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
private static IParameter ParseBasicParameter(JValue jValue, string key)
|
|
|
{
|