mirror of
https://github.com/9ParsonsB/Pulsar.git
synced 2025-07-01 08:23:42 -04:00
Update Journal File Handling
Now Correctly deserializes Journal events
This commit is contained in:
@ -7,13 +7,13 @@ class FleetCarrierTravelConverter : JsonConverter<float>
|
||||
{
|
||||
public override float Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
if (reader.TokenType == JsonTokenType.String)
|
||||
return float.Parse(reader.GetString().Split(' ')[0]);
|
||||
return reader.GetSingle();
|
||||
}
|
||||
if (reader.TokenType == JsonTokenType.String)
|
||||
return float.Parse(reader.GetString().Split(' ')[0]);
|
||||
return reader.GetSingle();
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, float value, JsonSerializerOptions options)
|
||||
{
|
||||
writer.WriteStringValue(value.ToString());
|
||||
}
|
||||
writer.WriteStringValue(value.ToString());
|
||||
}
|
||||
}
|
@ -7,13 +7,13 @@ public class IntBoolFlexConverter : JsonConverter<bool>
|
||||
{
|
||||
public override bool Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
if (reader.TokenType == JsonTokenType.Number)
|
||||
return reader.GetInt16() == 1;
|
||||
return reader.GetBoolean();
|
||||
}
|
||||
if (reader.TokenType == JsonTokenType.Number)
|
||||
return reader.GetInt16() == 1;
|
||||
return reader.GetBoolean();
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, bool value, JsonSerializerOptions options)
|
||||
{
|
||||
writer.WriteBooleanValue(value);
|
||||
}
|
||||
writer.WriteBooleanValue(value);
|
||||
}
|
||||
}
|
@ -21,6 +21,6 @@ public class LegacyFactionConverter<TFaction> : JsonConverter<TFaction> where TF
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, TFaction value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
@ -41,11 +41,12 @@ public class MaterialCompositionConverter : JsonConverter<ImmutableList<Material
|
||||
return materialComposition.ToImmutableList();
|
||||
}
|
||||
|
||||
return (ImmutableList<MaterialComposition>)JsonSerializer.Deserialize(ref reader, typeof(ImmutableList<MaterialComposition>));
|
||||
return JsonSerializer.Deserialize<ImmutableList<MaterialComposition>>(ref reader, options)!;
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, ImmutableList<MaterialComposition> value, JsonSerializerOptions options)
|
||||
public override void Write(Utf8JsonWriter writer, ImmutableList<MaterialComposition> value,
|
||||
JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
@ -11,42 +11,44 @@ namespace Observatory.Framework.Files.Converters;
|
||||
/// </summary>
|
||||
public class MaterialConverter : JsonConverter<ImmutableList<Material>>
|
||||
{
|
||||
public override ImmutableList<Material> Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
public override ImmutableList<Material> Read(ref Utf8JsonReader reader, Type typeToConvert,
|
||||
JsonSerializerOptions options)
|
||||
{
|
||||
if (reader.TokenType == JsonTokenType.StartObject)
|
||||
if (reader.TokenType == JsonTokenType.StartObject)
|
||||
{
|
||||
var materialComposition = new List<Material>();
|
||||
while (reader.Read())
|
||||
{
|
||||
var materialComposition = new List<Material>();
|
||||
while (reader.Read())
|
||||
if (reader.TokenType != JsonTokenType.EndObject)
|
||||
{
|
||||
if (reader.TokenType != JsonTokenType.EndObject)
|
||||
if (reader.TokenType == JsonTokenType.PropertyName)
|
||||
{
|
||||
if (reader.TokenType == JsonTokenType.PropertyName)
|
||||
var name = reader.GetString();
|
||||
reader.Read();
|
||||
var count = reader.GetInt32();
|
||||
var material = new Material
|
||||
{
|
||||
var name = reader.GetString();
|
||||
reader.Read();
|
||||
var count = reader.GetInt32();
|
||||
var material = new Material
|
||||
{
|
||||
Name = name,
|
||||
Name_Localised = name,
|
||||
Count = count
|
||||
};
|
||||
materialComposition.Add(material);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
Name = name,
|
||||
Name_Localised = name,
|
||||
Count = count
|
||||
};
|
||||
materialComposition.Add(material);
|
||||
}
|
||||
}
|
||||
return materialComposition.ToImmutableList();
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return (ImmutableList<Material>)JsonSerializer.Deserialize(ref reader, typeof(ImmutableList<Material>));
|
||||
return materialComposition.ToImmutableList();
|
||||
}
|
||||
|
||||
return JsonSerializer.Deserialize<ImmutableList<Material>>(ref reader, options)!;
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, ImmutableList<Material> value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
@ -32,6 +32,6 @@ public class MissionEffectConverter : JsonConverter<MissionEffect>
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, MissionEffect value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
@ -14,6 +14,9 @@ class MutableStringDoubleConverter : JsonConverter<object>
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, object value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
if (value.GetType() == typeof(string))
|
||||
writer.WriteStringValue((string)value);
|
||||
else
|
||||
writer.WriteNumberValue((double)value);
|
||||
}
|
||||
}
|
@ -14,6 +14,6 @@ class PipConverter : JsonConverter<(int Sys, int Eng, int Wep)>
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, (int Sys, int Eng, int Wep) value, JsonSerializerOptions options)
|
||||
{
|
||||
JsonSerializer.Serialize(writer, new[] { value.Sys, value.Eng, value.Wep });
|
||||
JsonSerializer.Serialize(writer, new {value.Sys, value.Eng, value.Wep}, options);
|
||||
}
|
||||
}
|
@ -12,6 +12,6 @@ public class RepInfConverter : JsonConverter<int>
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, int value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
@ -17,6 +17,6 @@ public class StarPosConverter : JsonConverter<(double x, double y, double z)>
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, (double x, double y, double z) value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
@ -21,6 +21,6 @@ public class StationServiceConverter : JsonConverter<StationService>
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, StationService value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
@ -14,6 +14,6 @@ class StringIntConverter : JsonConverter<int>
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, int value, JsonSerializerOptions options)
|
||||
{
|
||||
writer.WriteStringValue(value.ToString());
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
@ -7,22 +7,22 @@ class ThargoidWarRemainingTimeConverter : JsonConverter<int>
|
||||
{
|
||||
public override int Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
if (reader.TokenType == JsonTokenType.String)
|
||||
{
|
||||
var value = reader.GetString();
|
||||
|
||||
var dayCount = int.TryParse(value.Split(' ')[0], out var days)
|
||||
? days
|
||||
: 0;
|
||||
if (reader.TokenType == JsonTokenType.String)
|
||||
{
|
||||
var value = reader.GetString();
|
||||
|
||||
return dayCount;
|
||||
}
|
||||
var dayCount = int.TryParse(value.Split(' ')[0], out var days)
|
||||
? days
|
||||
: 0;
|
||||
|
||||
return reader.GetInt32();
|
||||
return dayCount;
|
||||
}
|
||||
|
||||
return reader.GetInt32();
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, int value, JsonSerializerOptions options)
|
||||
{
|
||||
writer.WriteStringValue(value + " Days");
|
||||
}
|
||||
writer.WriteStringValue(value + " Days");
|
||||
}
|
||||
}
|
@ -8,18 +8,18 @@ class VoucherTypeConverter : JsonConverter<VoucherType>
|
||||
{
|
||||
public override VoucherType Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
var voucher = reader.GetString();
|
||||
var voucher = reader.GetString();
|
||||
|
||||
if (voucher.Length == 0)
|
||||
voucher = "None";
|
||||
if (voucher.Length == 0)
|
||||
voucher = "None";
|
||||
|
||||
var missionEffect = (VoucherType)Enum.Parse(typeof(VoucherType), voucher, true);
|
||||
var missionEffect = (VoucherType)Enum.Parse(typeof(VoucherType), voucher, true);
|
||||
|
||||
return missionEffect;
|
||||
}
|
||||
return missionEffect;
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, VoucherType value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user