feat: Adds SerializedCommandProperty (#1249)

## Breaking Change
* Removes `SerializableFieldAttrAttribute` in favor of `SerializedPropertyAttr`.

## Important Change
* Adds `SerializedCommandProperty`

Example:
```cs
    [InvalidateProperties]
    [SerializableField(0)]
    [SerializedCommandProperty(AccessLevel.GameMaster)]
    private Mobile _completedBy;
```
This commit is contained in:
Kamron Batman 2022-11-14 18:24:33 -08:00 • committed by GitHub
parent 5660f4636e
commit 936000ecf7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
79 changed files with 272 additions and 231 deletions

View file

@ -32,15 +32,15 @@ public partial class BaseTreasureChest : LockableContainer
}
[SerializableField(0)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private TreasureLevel _level;
[SerializableField(1)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private TimeSpan _minSpawnTime;
[SerializableField(2)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private TimeSpan _maxSpawnTime;
[CommandProperty(AccessLevel.GameMaster)]

View file

@ -49,27 +49,27 @@ public abstract partial class LockableContainer : TrappableContainer, ILockable,
public Mobile Picker { get; set; }
[SerializableField(0)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private bool _isShipwreckedItem;
[SerializableField(1)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private bool _trapOnLockpick;
[SerializableField(2)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private int _requiredSkill;
[SerializableField(3)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private int _maxLockLevel;
[SerializableField(4)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private uint _keyValue;
[SerializableField(5)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private int _lockLevel;
[SerializableProperty(6)]

View file

@ -20,15 +20,15 @@ public partial class MarkContainer : LockableContainer
}
[SerializableField(2)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private Map _targetMap;
[SerializableField(3)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private Point3D _target;
[SerializableField(4)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private string _description;
[Constructible]

View file

@ -11,12 +11,12 @@ public partial class StrongBox : BaseContainer, IChoppable
{
[InvalidateProperties]
[SerializableField(0)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private Mobile _owner;
[InvalidateProperties]
[SerializableField(1)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private BaseHouse _house;
public StrongBox(Mobile owner, BaseHouse house) : base(0xE80)

View file

@ -16,15 +16,15 @@ public enum TrapType
public abstract partial class TrappableContainer : BaseContainer, ITelekinesisable
{
[SerializableField(0)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private int _trapLevel;
[SerializableField(1)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private int _trapPower;
[SerializableField(2)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private TrapType _trapType;
public TrappableContainer(int itemID) : base(itemID)

View file

@ -16,20 +16,20 @@ public partial class TreasureMapChest : LockableContainer
private List<Mobile> _guardians;
[SerializableField(1)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private bool _temporary;
[SerializableField(2)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private Mobile _owner;
[SerializableField(3)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private int _level;
[TimerDrift]
[SerializableField(4)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private Timer _expireTimer;
[DeserializeTimerField(4)]
@ -43,7 +43,7 @@ public partial class TreasureMapChest : LockableContainer
[Tidy]
[SerializableField(5, setter: "private")]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private HashSet<Item> _lifted;
[Constructible]