AvatarsConquest/Scripts/Engines/Reports/Objects/Snapshots/Snapshot.cs

52 lines
No EOL
1.3 KiB
C#

using System;
using System.Collections;
namespace Server.Engines.Reports
{
public class Snapshot : PersistableObject
{
#region Type Identification
public static readonly PersistableType ThisTypeID = new PersistableType( "ss", new ConstructCallback( Construct ) );
private static PersistableObject Construct()
{
return new Snapshot();
}
public override PersistableType TypeID{ get{ return ThisTypeID; } }
#endregion
private DateTime m_TimeStamp;
private ObjectCollection m_Children;
public DateTime TimeStamp{ get{ return m_TimeStamp; } set{ m_TimeStamp = value; } }
public ObjectCollection Children{ get{ return m_Children; } set{ m_Children = value; } }
public Snapshot()
{
m_Children = new ObjectCollection();
}
public override void SerializeAttributes( PersistanceWriter op )
{
op.SetDateTime( "t", m_TimeStamp );
}
public override void DeserializeAttributes( PersistanceReader ip )
{
m_TimeStamp = ip.GetDateTime( "t" );
}
public override void SerializeChildren( PersistanceWriter op )
{
for ( int i = 0; i < m_Children.Count; ++i )
m_Children[i].Serialize( op );
}
public override void DeserializeChildren( PersistanceReader ip )
{
while ( ip.HasChild )
m_Children.Add( ip.GetChild() );
}
}
}