44 lines
No EOL
1.1 KiB
C#
44 lines
No EOL
1.1 KiB
C#
using System;
|
|
|
|
namespace Server.Engines.Reports
|
|
{
|
|
public abstract class Chart : PersistableObject
|
|
{
|
|
protected string m_Name;
|
|
protected string m_FileName;
|
|
protected ChartItemCollection m_Items;
|
|
|
|
public string Name{ get{ return m_Name; } set{ m_Name = value; } }
|
|
public string FileName{ get{ return m_FileName; } set{ m_FileName = value; } }
|
|
public ChartItemCollection Items{ get{ return m_Items; } }
|
|
|
|
public Chart()
|
|
{
|
|
m_Items = new ChartItemCollection();
|
|
}
|
|
|
|
public override void SerializeAttributes( PersistanceWriter op )
|
|
{
|
|
op.SetString( "n", m_Name );
|
|
op.SetString( "f", m_FileName );
|
|
}
|
|
|
|
public override void DeserializeAttributes( PersistanceReader ip )
|
|
{
|
|
m_Name = Utility.Intern( ip.GetString( "n" ) );
|
|
m_FileName = Utility.Intern( ip.GetString( "f" ) );
|
|
}
|
|
|
|
public override void SerializeChildren( PersistanceWriter op )
|
|
{
|
|
for ( int i = 0; i < m_Items.Count; ++i )
|
|
m_Items[i].Serialize( op );
|
|
}
|
|
|
|
public override void DeserializeChildren( PersistanceReader ip )
|
|
{
|
|
while ( ip.HasChild )
|
|
m_Items.Add( ip.GetChild() as ChartItem );
|
|
}
|
|
}
|
|
} |