Files
pkNX/pkNX.Structures/Converters/DropTableConverter.cs
Kurt c181db68ff Minor clean
Handle some nullable warnings, style c#12
2023-12-21 12:31:00 -08:00

41 lines
1.2 KiB
C#

using System;
using System.ComponentModel;
using System.Globalization;
namespace pkNX.Structures;
public class DropTableConverter : TypeConverter
{
public static ulong[] DropTableHashes { get; set; } = [];
public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType)
{
return sourceType == typeof(string);
}
public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value)
{
if (value is string s)
{
return ulong.Parse(s);
}
return base.ConvertFrom(context, culture, value);
}
public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType)
{
if (destinationType == typeof(string) && value is ulong i)
return i.ToString();
return base.ConvertTo(context, culture, value, destinationType);
}
public override bool GetStandardValuesSupported(ITypeDescriptorContext? context) => true;
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext? context)
{
return new StandardValuesCollection(DropTableHashes);
}
}