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

@@ -5,10 +5,10 @@ namespace Content.Shared.Inventory;
[RegisterComponent, NetworkedComponent]
[Access(typeof(InventorySystem))]
public sealed class InventoryComponent : Component
public sealed partial class InventoryComponent : Component
{
[DataField("templateId", customTypeSerializer: typeof(PrototypeIdSerializer<InventoryTemplatePrototype>))]
public string TemplateId { get; } = "human";
public string TemplateId { get; private set; } = "human";
[DataField("speciesId")] public string? SpeciesId { get; set; }
}

View File

@@ -9,36 +9,36 @@ public sealed class InventoryTemplatePrototype : IPrototype
{
[IdDataField] public string ID { get; } = string.Empty;
[DataField("slots")] public SlotDefinition[] Slots { get; } = Array.Empty<SlotDefinition>();
[DataField("slots")] public SlotDefinition[] Slots { get; private set; } = Array.Empty<SlotDefinition>();
}
[DataDefinition]
public sealed class SlotDefinition
public sealed partial class SlotDefinition
{
[DataField("name", required: true)] public string Name { get; } = string.Empty;
[DataField("slotTexture")] public string TextureName { get; } = "pocket";
[DataField("slotFlags")] public SlotFlags SlotFlags { get; } = SlotFlags.PREVENTEQUIP;
[DataField("showInWindow")] public bool ShowInWindow { get; } = true;
[DataField("slotGroup")] public string SlotGroup { get; } = "Default";
[DataField("stripTime")] public float StripTime { get; } = 4f;
[DataField("name", required: true)] public string Name { get; private set; } = string.Empty;
[DataField("slotTexture")] public string TextureName { get; private set; } = "pocket";
[DataField("slotFlags")] public SlotFlags SlotFlags { get; private set; } = SlotFlags.PREVENTEQUIP;
[DataField("showInWindow")] public bool ShowInWindow { get; private set; } = true;
[DataField("slotGroup")] public string SlotGroup { get; private set; } = "Default";
[DataField("stripTime")] public float StripTime { get; private set; } = 4f;
[DataField("uiWindowPos", required: true)]
public Vector2i UIWindowPosition { get; }
public Vector2i UIWindowPosition { get; private set; }
[DataField("strippingWindowPos", required: true)]
public Vector2i StrippingWindowPos { get; }
public Vector2i StrippingWindowPos { get; private set; }
[DataField("dependsOn")] public string? DependsOn { get; }
[DataField("dependsOn")] public string? DependsOn { get; private set; }
[DataField("displayName", required: true)]
public string DisplayName { get; } = string.Empty;
public string DisplayName { get; private set; } = string.Empty;
[DataField("stripHidden")] public bool StripHidden { get; }
[DataField("stripHidden")] public bool StripHidden { get; private set; }
/// <summary>
/// Offset for the clothing sprites.
/// </summary>
[DataField("offset")] public Vector2 Offset { get; } = Vector2.Zero;
[DataField("offset")] public Vector2 Offset { get; private set; } = Vector2.Zero;
/// <summary>
/// Entity whitelist for CanEquip checks.