forked from sin365/AxibugEmuOnline
48 lines
1.6 KiB
C#
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();
|
|
// }
|
|
// }
|
|
//}
|