feat: Updates to Serialization Generator v2.2 (#1157)

* Adds `SerializationProperty` - This will generate the private variable for serialization. Also provides an option `useField` to specify your own. Example:
  ```cs
  [SerializationProperty(0, useField: nameof(_resource)]
  ```
This commit is contained in:
Kamron Batman 2022-09-04 08:45:27 -07:00 • committed by GitHub
parent d82028a071
commit 89815ad4d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
50 changed files with 242 additions and 361 deletions

View file

@ -20,20 +20,18 @@ public partial class DragonBardingDeed : Item, ICraftable
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private bool _exceptional;
[SerializableField(2, "private", "private")]
private CraftResource _rawResource;
public DragonBardingDeed() : base(0x14F0) => Weight = 1.0;
public override int LabelNumber => _exceptional ? 1053181 : 1053012; // dragon barding deed
[SerializableProperty(2)]
[CommandProperty(AccessLevel.GameMaster)]
public CraftResource Resource
{
get => _rawResource;
get => _resource;
set
{
_rawResource = value;
_resource = value;
Hue = CraftResources.GetHue(value);
InvalidateProperties();
}
@ -134,6 +132,6 @@ public partial class DragonBardingDeed : Item, ICraftable
reader.ReadInt();
}
_rawResource = (CraftResource)reader.ReadInt();
_resource = (CraftResource)reader.ReadInt();
}
}