From 47d2dcda603223c4bdf80a4b68c0681788b1b722 Mon Sep 17 00:00:00 2001 From: Katy Coe Date: Mon, 4 Jan 2021 06:52:34 +0100 Subject: [PATCH] GUI: Fix plugin Enum options not working --- Il2CppInspector.GUI/App.xaml.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Il2CppInspector.GUI/App.xaml.cs b/Il2CppInspector.GUI/App.xaml.cs index b45b593..7804456 100644 --- a/Il2CppInspector.GUI/App.xaml.cs +++ b/Il2CppInspector.GUI/App.xaml.cs @@ -159,7 +159,9 @@ namespace Il2CppInspectorGUI else options.Add(option.Name, (savedOption.Value, ((JsonElement) savedOption.Value).ValueKind) switch { (var v, JsonValueKind.String) => v.ToString(), - (var v, JsonValueKind.Number) => Convert.ChangeType(v.ToString(), option.Value.GetType()), + (var v, JsonValueKind.Number) => option.Value.GetType().IsEnum? + Enum.TryParse(option.Value.GetType(), v.ToString(), out object e)? e : throw new InvalidCastException("Enum value removed") + : Convert.ChangeType(v.ToString(), option.Value.GetType()), (var v, JsonValueKind.True) => true, (var v, JsonValueKind.False) => false, _ => throw new ArgumentException("Unsupported JSON type")