Refactor serialization copying to use source generators (#19412)

This commit is contained in:
DrSmugleaf
2023-08-22 18:14:33 -07:00
committed by GitHub
parent 08b43990ab
commit a88e747a0b
1737 changed files with 2532 additions and 2521 deletions

View File

@@ -9,10 +9,10 @@ namespace Content.Shared.Body.Components;
[RegisterComponent, NetworkedComponent]
[Access(typeof(SharedBodySystem))]
public sealed class BodyComponent : Component
public sealed partial class BodyComponent : Component
{
[DataField("prototype", customTypeSerializer: typeof(PrototypeIdSerializer<BodyPrototype>))]
public readonly string? Prototype;
public string? Prototype;
[DataField("root")]
public BodyPartSlot? Root;

View File

@@ -5,7 +5,7 @@ namespace Content.Shared.Body.Organ;
[RegisterComponent, NetworkedComponent]
[Access(typeof(SharedBodySystem))]
public sealed class OrganComponent : Component
public sealed partial class OrganComponent : Component
{
[DataField("body")]
public EntityUid? Body;

View File

@@ -7,7 +7,7 @@ namespace Content.Shared.Body.Part;
[RegisterComponent, NetworkedComponent]
[Access(typeof(SharedBodySystem))]
public sealed class BodyPartComponent : Component
public sealed partial class BodyPartComponent : Component
{
[DataField("body")]
public EntityUid? Body;

View File

@@ -11,9 +11,9 @@ public sealed class BodyPrototype : IPrototype
[DataField("name")]
public string Name { get; private set; } = "";
[DataField("root")] public string Root { get; } = string.Empty;
[DataField("root")] public string Root { get; private set; } = string.Empty;
[DataField("slots")] public Dictionary<string, BodyPrototypeSlot> Slots { get; } = new();
[DataField("slots")] public Dictionary<string, BodyPrototypeSlot> Slots { get; private set; } = new();
private BodyPrototype() { }
@@ -30,7 +30,7 @@ public sealed class BodyPrototype : IPrototype
public sealed record BodyPrototypeSlot
{
[DataField("part", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
public readonly string? Part;
public string? Part;
public readonly HashSet<string> Connections = new();
public readonly Dictionary<string, string> Organs = new();

View File

@@ -6,6 +6,6 @@ namespace Content.Shared.Body.Prototypes
public sealed class MetabolismGroupPrototype : IPrototype
{
[IdDataField]
public string ID { get; } = default!;
public string ID { get; private set; } = default!;
}
}

View File

@@ -6,9 +6,9 @@ namespace Content.Shared.Body.Prototypes
public sealed class MetabolizerTypePrototype : IPrototype
{
[IdDataField]
public string ID { get; } = default!;
public string ID { get; private set; } = default!;
[DataField("name", required: true)]
public string Name { get; } = default!;
public string Name { get; private set; } = default!;
}
}