添加对 Core 的直接引用

This commit is contained in:
OLDREDSTONE
2025-03-25 15:49:57 +08:00
parent 24907abedb
commit 06c19bf10a
296 changed files with 24961 additions and 2 deletions
@@ -0,0 +1,34 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RhythmBase.Components;
namespace RhythmBase.Converters
{
internal class CharacterConverter : JsonConverter<RDCharacter>
{
public override void WriteJson(JsonWriter writer, RDCharacter value, JsonSerializer serializer)
{
writer.WriteValue(
value.IsCustom
? value.CustomCharacter == null
? ""
: $"custom:{value.CustomCharacter}"
: value.Character.ToString());
}
public override RDCharacter ReadJson(JsonReader reader, Type objectType, RDCharacter existingValue, bool hasExistingValue, JsonSerializer serializer)
{
string value = JToken.ReadFrom(reader).ToObject<string>()!;
RDCharacter ReadJson;
if (value.StartsWith("custom:"))
{
string name = value[7..];
ReadJson = name;
}
else
{
ReadJson = Enum.Parse<RDCharacters>(value);
}
return ReadJson;
}
}
}