44 lines
No EOL
930 B
C#
44 lines
No EOL
930 B
C#
namespace Server.Engines.Reports
|
|
{
|
|
public abstract class PersistableObject
|
|
{
|
|
public abstract PersistableType TypeID{ get; }
|
|
|
|
public virtual void SerializeAttributes(PersistanceWriter op)
|
|
{
|
|
}
|
|
|
|
public virtual void SerializeChildren(PersistanceWriter op)
|
|
{
|
|
}
|
|
|
|
public void Serialize(PersistanceWriter op)
|
|
{
|
|
op.BeginObject(TypeID);
|
|
SerializeAttributes(op);
|
|
op.BeginChildren();
|
|
SerializeChildren(op);
|
|
op.FinishChildren();
|
|
op.FinishObject();
|
|
}
|
|
|
|
public virtual void DeserializeAttributes(PersistanceReader ip)
|
|
{
|
|
}
|
|
|
|
public virtual void DeserializeChildren(PersistanceReader ip)
|
|
{
|
|
}
|
|
|
|
public void Deserialize(PersistanceReader ip)
|
|
{
|
|
DeserializeAttributes(ip);
|
|
|
|
if (ip.BeginChildren())
|
|
{
|
|
DeserializeChildren(ip);
|
|
ip.FinishChildren();
|
|
}
|
|
}
|
|
}
|
|
} |