fix(codegen): Fixes bulk order deed hue and codegens (#647)
- [X] Codegens some Bulk Order stuff - [X] Fixes deserializing with a class that requires the parent as a constructor argument Closes #641 Closes #623
This commit is contained in:
parent
eb4e3ac070
commit
510d2e006b
32 changed files with 185 additions and 378 deletions
|
|
@ -20,7 +20,8 @@ namespace Server.Items
|
|||
bool CouldFit(IPoint3D p, Map map);
|
||||
}
|
||||
|
||||
public abstract class BaseAddon : Item, IChoppable, IAddon
|
||||
[Serializable(2, false)]
|
||||
public abstract partial class BaseAddon : Item, IChoppable, IAddon
|
||||
{
|
||||
private CraftResource m_Resource;
|
||||
|
||||
|
|
@ -32,15 +33,12 @@ namespace Server.Items
|
|||
Components = new List<AddonComponent>();
|
||||
}
|
||||
|
||||
public BaseAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual bool RetainDeedHue => false;
|
||||
|
||||
public virtual BaseAddonDeed Deed => null;
|
||||
|
||||
public List<AddonComponent> Components { get; private set; }
|
||||
[SerializableField(0, setter: "private")]
|
||||
private List<AddonComponent> _components;
|
||||
|
||||
public virtual bool ShareHue => true;
|
||||
|
||||
|
|
@ -66,6 +64,7 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
[SerializableField(1)]
|
||||
public CraftResource Resource
|
||||
{
|
||||
get => m_Resource;
|
||||
|
|
@ -77,6 +76,7 @@ namespace Server.Items
|
|||
Hue = CraftResources.GetHue(m_Resource);
|
||||
|
||||
InvalidateProperties();
|
||||
((ISerializable)this).MarkDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -277,30 +277,9 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
private void Deserialize(IGenericReader reader, int version)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(1); // version
|
||||
|
||||
writer.Write(Components);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
case 0:
|
||||
{
|
||||
Components = reader.ReadEntityList<AddonComponent>();
|
||||
break;
|
||||
}
|
||||
}
|
||||
Components = reader.ReadEntityList<AddonComponent>();
|
||||
|
||||
if (version < 1 && Weight == 0)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue