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

@ -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;