diff --git a/IPA.Loader/Config/Stores/Converters.cs b/IPA.Loader/Config/Stores/Converters.cs index c28474c9..672019fa 100644 --- a/IPA.Loader/Config/Stores/Converters.cs +++ b/IPA.Loader/Config/Stores/Converters.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Boolean = IPA.Config.Data.Boolean; namespace IPA.Config.Stores.Converters { @@ -45,44 +46,31 @@ namespace IPA.Config.Stores.Converters ValueConverter IValConv.Get() => null; // default to null } - private class ValConvImpls : IValConv, + private class ValConvImpls : IValConv, IValConv, IValConv, IValConv, IValConv, IValConv, IValConv, IValConv, IValConv, IValConv, IValConv, IValConv, IValConv, - IValConv + IValConv, IValConv { internal static readonly ValConvImpls Impl = new ValConvImpls(); - ValueConverter IValConv.Get() - => new CharConverter(); - ValueConverter IValConv.Get() - => new LongConverter(); - ValueConverter IValConv.Get() - => new ULongConverter(); - ValueConverter IValConv.Get() - => new IntPtrConverter(); - ValueConverter IValConv.Get() - => new UIntPtrConverter(); - ValueConverter IValConv.Get() - => new IntConverter(); - ValueConverter IValConv.Get() - => new UIntConverter(); - ValueConverter IValConv.Get() - => new ShortConverter(); - ValueConverter IValConv.Get() - => new UShortConverter(); - ValueConverter IValConv.Get() - => new ByteConverter(); - ValueConverter IValConv.Get() - => new SByteConverter(); - ValueConverter IValConv.Get() - => new FloatConverter(); - ValueConverter IValConv.Get() - => new DoubleConverter(); - ValueConverter IValConv.Get() - => new DecimalConverter(); + ValueConverter IValConv.Get() => new CharConverter(); + ValueConverter IValConv.Get() => new LongConverter(); + ValueConverter IValConv.Get() => new ULongConverter(); + ValueConverter IValConv.Get() => new IntPtrConverter(); + ValueConverter IValConv.Get() => new UIntPtrConverter(); + ValueConverter IValConv.Get() => new IntConverter(); + ValueConverter IValConv.Get() => new UIntConverter(); + ValueConverter IValConv.Get() => new ShortConverter(); + ValueConverter IValConv.Get() => new UShortConverter(); + ValueConverter IValConv.Get() => new ByteConverter(); + ValueConverter IValConv.Get() => new SByteConverter(); + ValueConverter IValConv.Get() => new FloatConverter(); + ValueConverter IValConv.Get() => new DoubleConverter(); + ValueConverter IValConv.Get() => new DecimalConverter(); + ValueConverter IValConv.Get() => new BooleanConverter(); } } @@ -315,4 +303,12 @@ namespace IPA.Config.Stores.Converters public override Value ToValue(double obj, object parent) => Value.From((decimal)obj); } + + internal class BooleanConverter : ValueConverter + { + public override bool FromValue(Value value, object parent) + => (value as Boolean).Value; + public override Value ToValue(bool obj, object parent) + => Value.From(obj); + } } diff --git a/IPA.Loader/Config/Stores/GeneratedStore.cs b/IPA.Loader/Config/Stores/GeneratedStore.cs index d1fcef5f..3ddf743b 100644 --- a/IPA.Loader/Config/Stores/GeneratedStore.cs +++ b/IPA.Loader/Config/Stores/GeneratedStore.cs @@ -779,7 +779,6 @@ namespace IPA.Config.Stores typeBuilder.DefineMethodOverride(coreChanged, IGeneratedStore_Changed); #endregion - #region Members foreach (var member in structure.Where(m => m.IsVirtual)) { // IsVirtual implies !IsField