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

@ -23,14 +23,6 @@
""
]
},
{
"name": "Absolute",
"type": "bool",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
},
{
"name": "Value",
"type": "double",

View file

@ -20,12 +20,6 @@ namespace Server;
[SerializationGenerator(0)]
public partial class ResistanceMod : MobileMod
{
// Field 0
private int _offset;
// Field 1
private ResistanceType _type;
public ResistanceMod(Mobile owner) : base(owner)
{
}
@ -36,7 +30,7 @@ public partial class ResistanceMod : MobileMod
_offset = offset;
}
[SerializableField(0)]
[SerializableProperty(0)]
public ResistanceType Type
{
get => _type;
@ -52,7 +46,7 @@ public partial class ResistanceMod : MobileMod
}
}
[SerializableField(1)]
[SerializableProperty(1)]
public int Offset
{
get => _offset;

View file

@ -21,11 +21,6 @@ namespace Server;
[SerializationGenerator(0)]
public abstract partial class SkillMod : MobileMod
{
private bool _obeyCap;
private bool _relative;
private SkillName _skill;
private double _value;
public SkillMod(Mobile owner) : base(owner)
{
}
@ -37,7 +32,7 @@ public abstract partial class SkillMod : MobileMod
_value = value;
}
[SerializableField(0)]
[SerializableProperty(0)]
public bool ObeyCap
{
get => _obeyCap;
@ -51,7 +46,7 @@ public abstract partial class SkillMod : MobileMod
}
}
[SerializableField(1)]
[SerializableProperty(1)]
public SkillName Skill
{
get => _skill;
@ -71,7 +66,7 @@ public abstract partial class SkillMod : MobileMod
}
}
[SerializableField(2)]
[SerializableProperty(2)]
public bool Relative
{
get => _relative;
@ -88,24 +83,13 @@ public abstract partial class SkillMod : MobileMod
}
}
[SerializableField(3)]
public bool Absolute
{
get => !_relative;
set
{
if (_relative == value)
{
_relative = !value;
var sk = Owner?.Skills[_skill];
sk?.Update();
MarkDirty();
}
}
get => !Relative;
set => Relative = !value;
}
[SerializableField(4)]
[SerializableProperty(3)]
public double Value
{
get => _value;

View file

@ -40,8 +40,8 @@
<PackageReference Include="PollGroup" Version="1.2.1" />
<PackageReference Include="Zlib.Bindings" Version="1.9.2" />
<PackageReference Include="ModernUO.Serialization.Annotations" Version="2.0.2" />
<PackageReference Include="ModernUO.Serialization.Generator" Version="2.1.4" />
<PackageReference Include="ModernUO.Serialization.Annotations" Version="2.2.0" />
<PackageReference Include="ModernUO.Serialization.Generator" Version="2.2.2" />
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="Migrations/*.v*.json" />