51 lines
No EOL
966 B
C#
51 lines
No EOL
966 B
C#
using System;
|
|
using System.Collections;
|
|
|
|
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( this.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();
|
|
}
|
|
}
|
|
|
|
public PersistableObject()
|
|
{
|
|
}
|
|
}
|
|
} |