Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace Server.Engines.Reports
|
||||
{
|
||||
public class SnapshotHistory : PersistableObject
|
||||
{
|
||||
#region Type Identification
|
||||
public static readonly PersistableType ThisTypeID = new PersistableType("sh", new ConstructCallback(Construct));
|
||||
|
||||
private static PersistableObject Construct()
|
||||
{
|
||||
return new SnapshotHistory();
|
||||
}
|
||||
|
||||
public override PersistableType TypeID
|
||||
{
|
||||
get
|
||||
{
|
||||
return ThisTypeID;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
private SnapshotCollection m_Snapshots;
|
||||
|
||||
public SnapshotCollection Snapshots
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_Snapshots;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_Snapshots = value;
|
||||
}
|
||||
}
|
||||
|
||||
public SnapshotHistory()
|
||||
{
|
||||
this.m_Snapshots = new SnapshotCollection();
|
||||
}
|
||||
|
||||
public void Save()
|
||||
{
|
||||
string path = Path.Combine(Core.BaseDirectory, "reportHistory.xml");
|
||||
PersistenceWriter pw = new XmlPersistenceWriter(path, "Stats");
|
||||
|
||||
pw.WriteDocument(this);
|
||||
|
||||
pw.Close();
|
||||
}
|
||||
|
||||
public void Load()
|
||||
{
|
||||
string path = Path.Combine(Core.BaseDirectory, "reportHistory.xml");
|
||||
|
||||
if (!File.Exists(path))
|
||||
return;
|
||||
|
||||
PersistenceReader pr = new XmlPersistenceReader(path, "Stats");
|
||||
|
||||
pr.ReadDocument(this);
|
||||
|
||||
pr.Close();
|
||||
}
|
||||
|
||||
public override void SerializeChildren(PersistenceWriter op)
|
||||
{
|
||||
for (int i = 0; i < this.m_Snapshots.Count; ++i)
|
||||
this.m_Snapshots[i].Serialize(op);
|
||||
}
|
||||
|
||||
public override void DeserializeChildren(PersistenceReader ip)
|
||||
{
|
||||
while (ip.HasChild)
|
||||
this.m_Snapshots.Add(ip.GetChild() as Snapshot);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user