void WriteArchive(List<Block> archive)
{
try
{
string filename = String.Format("/{0:D5}.blocks", mArchiveMarker / 10000);
FileStream fs = File.Open(mDataPath + filename, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
int version = 0;
bw.Write(version);
bw.Write(archive.Count);
for (int i = 0; i < archive.Count; i++)
{
int height = mArchiveMarker + i;
if (height == 0)
continue;
foreach (Block b in archive)
{
if (b.mHeight == height)
{
b.Save(bw);
mBlocks.Remove(b);
break;
}
}
}
bw.Close();
mArchiveMarker += 10000;
}
catch (Exception ex)
{
Console.WriteLine("Archive issue: " + ex.Message);
}
}