ModernUO/Scripts/Engines/Reports/Objects/Charts/Chart.cs
2018-09-14 08:46:14 -07:00

46 lines
No EOL
1.1 KiB
C#

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 => m_Name;
set => m_Name = value;
}
public string FileName{ get => m_FileName;
set => m_FileName = value;
}
public ChartItemCollection Items => 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 );
}
}
}