Serialization interfaces (#62)

This commit is contained in:
Leath Cooper 2019-12-30 15:16:35 -05:00 • committed by Kamron Batman
parent 5e2be2d7b6
commit 5c8821b11c
2406 changed files with 10100 additions and 9350 deletions

View file

@ -127,7 +127,7 @@ namespace Server
m_Parent = parent;
}
public static BounceInfo Deserialize(GenericReader reader)
public static BounceInfo Deserialize(IGenericReader reader)
{
if (reader.ReadBool())
{
@ -152,7 +152,7 @@ namespace Server
return null;
}
public static void Serialize(BounceInfo info, GenericWriter writer)
public static void Serialize(BounceInfo info, IGenericWriter writer)
{
if (info == null)
{
@ -201,6 +201,9 @@ namespace Server
public class Item : IHued, IComparable<Item>, ISerializable, ISpawnable, IPropertyListObject
{
private BufferWriter m_SaveBuffer;
public BufferWriter SaveBuffer { get { return m_SaveBuffer; } }
public const int QuestItemHue = 0x4EA; // Hmmmm... "for EA"?
public static readonly List<Item> EmptyItems = new List<Item>();
@ -241,6 +244,7 @@ namespace Server
World.m_ItemTypes.Add(ourType);
m_TypeRef = World.m_ItemTypes.Count - 1;
}
m_SaveBuffer = new BufferWriter(true);
}
public Item(Serial serial)
@ -255,6 +259,7 @@ namespace Server
World.m_ItemTypes.Add(ourType);
m_TypeRef = World.m_ItemTypes.Count - 1;
}
m_SaveBuffer = new BufferWriter(true);
}
public int TempFlags
@ -1138,7 +1143,12 @@ namespace Server
uint ISerializable.SerialIdentity => Serial;
public virtual void Serialize(GenericWriter writer)
public void Serialize()
{
SaveBuffer.Flush();
Serialize(SaveBuffer);
}
public virtual void Serialize(IGenericWriter writer)
{
writer.Write(9); // version
@ -2158,7 +2168,7 @@ namespace Server
VerifyCompactInfo();
}
public virtual void Deserialize(GenericReader reader)
public virtual void Deserialize(IGenericReader reader)
{
int version = reader.ReadInt();