Ensure FieldLoader is left in its original state when loading Settings.
This commit is contained in:
@@ -288,7 +288,8 @@ namespace OpenRA
|
||||
// Override fieldloader to ignore invalid entries
|
||||
var err1 = FieldLoader.UnknownFieldAction;
|
||||
var err2 = FieldLoader.InvalidValueAction;
|
||||
|
||||
try
|
||||
{
|
||||
FieldLoader.UnknownFieldAction = (s, f) => Console.WriteLine("Ignoring unknown field `{0}` on `{1}`".F(s, f.Name));
|
||||
|
||||
if (File.Exists(settingsFile))
|
||||
@@ -305,10 +306,13 @@ namespace OpenRA
|
||||
foreach (var f in kv.Value.GetType().GetFields())
|
||||
if (args.Contains(kv.Key + "." + f.Name))
|
||||
FieldLoader.LoadField(kv.Value, f.Name, args.GetValue(kv.Key + "." + f.Name, ""));
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
FieldLoader.UnknownFieldAction = err1;
|
||||
FieldLoader.InvalidValueAction = err2;
|
||||
}
|
||||
}
|
||||
|
||||
public void Save()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user