fix(codegen): Fixes various code gen issues. Adds better embedded serialization support (#688)
* Adds save flag support (see `ElvenGlasses` for an example) * Updates AOSAttributes so they are code genned * Fixes embedded object support by adding an `IRawSerializable` * Fixes various inconsistencies in serializing with codegen
This commit is contained in:
parent
69af652a18
commit
2c8097f707
54 changed files with 787 additions and 507 deletions
|
|
@ -1173,22 +1173,18 @@ namespace Server.Items
|
|||
{
|
||||
var flags = (SaveFlag)reader.ReadEncodedInt();
|
||||
|
||||
Attributes = new AosAttributes(this);
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.Attributes))
|
||||
{
|
||||
Attributes = new AosAttributes(this, reader);
|
||||
}
|
||||
else
|
||||
{
|
||||
Attributes = new AosAttributes(this);
|
||||
Attributes.Deserialize(reader);
|
||||
}
|
||||
|
||||
ArmorAttributes = new AosArmorAttributes(this);
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.ArmorAttributes))
|
||||
{
|
||||
ArmorAttributes = new AosArmorAttributes(this, reader);
|
||||
}
|
||||
else
|
||||
{
|
||||
ArmorAttributes = new AosArmorAttributes(this);
|
||||
ArmorAttributes.Deserialize(reader);
|
||||
}
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.PhysicalBonus))
|
||||
|
|
@ -1356,9 +1352,11 @@ namespace Server.Items
|
|||
m_Meditate = (AMA)(-1);
|
||||
}
|
||||
|
||||
SkillBonuses = new AosSkillBonuses(this);
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
|
||||
{
|
||||
SkillBonuses = new AosSkillBonuses(this, reader);
|
||||
SkillBonuses.Deserialize(reader);
|
||||
}
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.PlayerConstructed))
|
||||
|
|
@ -1370,8 +1368,11 @@ namespace Server.Items
|
|||
}
|
||||
case 4:
|
||||
{
|
||||
Attributes = new AosAttributes(this, reader);
|
||||
ArmorAttributes = new AosArmorAttributes(this, reader);
|
||||
Attributes = new AosAttributes(this);
|
||||
Attributes.Deserialize(reader);
|
||||
|
||||
ArmorAttributes = new AosArmorAttributes(this);
|
||||
ArmorAttributes.Deserialize(reader);
|
||||
goto case 3;
|
||||
}
|
||||
case 3:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue