ModernUO/Scripts/Engines/Reports/Objects/Charts/Chart.cs

52 lines
No EOL
1.2 KiB
C#

namespace Server.Engines.Reports
{
public abstract class Chart : PersistableObject
{
protected string m_FileName;
protected ChartItemCollection m_Items;
protected string m_Name;
public Chart()
{
m_Items = new ChartItemCollection();
}
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 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);
}
}
}