AxibugEmuOnline/AxibugEmuOnline.Client/Assets/Plugins/Essgee.Unity/Utilities/HexadecimalJsonConverter.cs

48 lines
1.6 KiB
C#

//using Newtonsoft.Json;
//using System;
//namespace Essgee.Utilities
//{
// public class HexadecimalJsonConverter : JsonConverter
// {
// public override bool CanConvert(Type objectType)
// {
// // TODO: maybe actually check things?
// return true;
// }
// public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
// {
// switch (Type.GetTypeCode(value.GetType()))
// {
// case TypeCode.Byte:
// case TypeCode.SByte:
// writer.WriteValue($"0x{value:X2}");
// break;
// case TypeCode.UInt16:
// case TypeCode.Int16:
// writer.WriteValue($"0x{value:X4}");
// break;
// case TypeCode.UInt32:
// case TypeCode.Int32:
// writer.WriteValue($"0x{value:X8}");
// break;
// case TypeCode.UInt64:
// case TypeCode.Int64:
// writer.WriteValue($"0x{value:X16}");
// break;
// default:
// throw new JsonSerializationException();
// }
// }
// public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
// {
// if ((reader.Value is string value) && value.StartsWith("0x"))
// return Convert.ChangeType(Convert.ToUInt64(value, 16), objectType);
// else
// throw new JsonSerializationException();
// }
// }
//}