qstbak/Questionable.Model/Questionable.Model.Questing.Converter/ElementIdListConverter.cs
2026-08-17 20:27:25 +10:00

129 lines
5.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace Questionable.Model.Questing.Converter;
public sealed class ElementIdListConverter : JsonConverter<List<ElementId>>
{
public override List<ElementId> Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
int num = ((reader.TokenType == JsonTokenType.StartArray) ? (-129183690) : (-129183685));
List<ElementId> list = default(List<ElementId>);
while (true)
{
int num2 = num;
int num3 = -129183693;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
list.Add(new QuestId(reader.GetUInt16()));
num = -129183689;
break;
case 8:
throw _200D_206C_202A_200B_200B_200F_202E_202D_206B_200D_206F_200C_200C_202B_202D_206A_202E_206C_206B_202A_206E_206E_200F_200E_202C_202D_206E_200E_206E_202E_200B_206C_206E_200C_206B_206A_202E_206C_206A_200E_202E();
case 3:
num = -129183685;
break;
case 1:
return list;
case 5:
reader.Read();
list = new List<ElementId>();
num = -129183691;
break;
case 4:
reader.Read();
num = -129183691;
break;
case 2:
list.Add(ElementId.FromString(reader.GetString() ?? throw _200D_206C_202A_200B_200B_200F_202E_202D_206B_200D_206F_200C_200C_202B_202D_206A_202E_206C_206B_202A_206E_206E_200F_200E_202C_202D_206E_200E_206E_202E_200B_206C_206E_200C_206B_206A_202E_206C_206A_200E_202E()));
num = -129183689;
break;
case 7:
num = ((reader.TokenType != JsonTokenType.Number) ? (-129183695) : (-129183693));
break;
case 6:
num = ((reader.TokenType != JsonTokenType.EndArray) ? (-129183692) : (-129183694));
break;
}
}
}
public override void Write(Utf8JsonWriter writer, List<ElementId> value, JsonSerializerOptions options)
{
_200B_206C_202D_200F_202E_206F_202C_206F_200F_200D_200B_206A_200D_206C_202A_202C_202A_202A_200C_202D_206D_202A_200C_202D_200D_206B_206B_206E_200D_200F_200B_200D_206B_202A_206E_206C_202A_200E_206A_202D_202E(writer);
using (List<ElementId>.Enumerator enumerator = value.GetEnumerator())
{
int num = 840120325;
ElementId current = default(ElementId);
while (true)
{
int num2 = num;
int num3 = 840120321;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 840120325;
break;
case 5:
current = enumerator.Current;
num = ((!(current is QuestId)) ? 840120320 : 840120322);
break;
case 1:
_200E_202A_200D_200C_200B_202C_202E_200E_202C_206C_206D_202C_200E_200C_200B_202D_202E_200E_200C_200F_200F_200F_206C_206F_206E_200D_200C_202B_200D_206E_206C_202E_200B_206D_202C_200C_206C_206F_206C_206C_202E(writer, _202B_202E_206E_202C_200F_206D_200D_202C_200B_202E_202B_200C_202E_202C_200C_206E_200D_202A_206D_200B_202B_202A_202A_206B_202C_202E_200D_200E_206C_200D_200C_202A_202B_206D_206F_202A_200C_206F_206A_202A_202E((object)current));
num = 840120325;
break;
case 4:
num = (enumerator.MoveNext() ? 840120324 : 840120323);
break;
case 3:
_206E_206B_206E_200F_200E_206F_206E_206D_200C_202E_202A_206F_200B_202C_206A_202A_200B_202D_206F_202D_202C_202C_202A_200F_202E_202B_200F_206A_206F_206A_202A_206F_200D_200B_202C_200F_206B_206E_202A_202A_202E(writer, (int)current.Value);
num = 840120325;
break;
case 2:
goto end_IL_0018;
}
continue;
end_IL_0018:
break;
}
}
_202E_202B_200E_200D_206F_200E_206B_206A_200D_206D_202C_206D_200B_202D_202D_202A_202B_202C_206E_206F_200F_206D_206B_200B_200D_202E_200D_200D_202B_206B_202B_202B_206E_202B_202E_200C_206C_200B_206E_202A_202E(writer);
}
static JsonException _200D_206C_202A_200B_200B_200F_202E_202D_206B_200D_206F_200C_200C_202B_202D_206A_202E_206C_206B_202A_206E_206E_200F_200E_202C_202D_206E_200E_206E_202E_200B_206C_206E_200C_206B_206A_202E_206C_206A_200E_202E()
{
return new JsonException();
}
static void _200B_206C_202D_200F_202E_206F_202C_206F_200F_200D_200B_206A_200D_206C_202A_202C_202A_202A_200C_202D_206D_202A_200C_202D_200D_206B_206B_206E_200D_200F_200B_200D_206B_202A_206E_206C_202A_200E_206A_202D_202E(Utf8JsonWriter P_0)
{
P_0.WriteStartArray();
}
static void _206E_206B_206E_200F_200E_206F_206E_206D_200C_202E_202A_206F_200B_202C_206A_202A_200B_202D_206F_202D_202C_202C_202A_200F_202E_202B_200F_206A_206F_206A_202A_206F_200D_200B_202C_200F_206B_206E_202A_202A_202E(Utf8JsonWriter P_0, int P_1)
{
P_0.WriteNumberValue(P_1);
}
static string _202B_202E_206E_202C_200F_206D_200D_202C_200B_202E_202B_200C_202E_202C_200C_206E_200D_202A_206D_200B_202B_202A_202A_206B_202C_202E_200D_200E_206C_200D_200C_202A_202B_206D_206F_202A_200C_206F_206A_202A_202E(object P_0)
{
return P_0.ToString();
}
static void _200E_202A_200D_200C_200B_202C_202E_200E_202C_206C_206D_202C_200E_200C_200B_202D_202E_200E_200C_200F_200F_200F_206C_206F_206E_200D_200C_202B_200D_206E_206C_202E_200B_206D_202C_200C_206C_206F_206C_206C_202E(Utf8JsonWriter P_0, string P_1)
{
P_0.WriteStringValue(P_1);
}
static void _202E_202B_200E_200D_206F_200E_206B_206A_200D_206D_202C_206D_200B_202D_202D_202A_202B_202C_206E_206F_200F_206D_206B_200B_200D_202E_200D_200D_202B_206B_202B_202B_206E_202B_202E_200C_206C_200B_206E_202A_202E(Utf8JsonWriter P_0)
{
P_0.WriteEndArray();
}
}