Skip to content

Commit bd66bb3

Browse files
committed
Memory Snapshot Refactor (Metafiles)
1 parent 528cf88 commit bd66bb3

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

Zolian.Server.Base/Meta/Metafile.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,20 @@ protected override void Load(MemoryStream stream)
2222

2323
for (var i = 0; i < length; i++)
2424
{
25-
var node = new MetafileNode(reader.ReadStringA());
25+
var name = reader.ReadStringA();
2626
var atomSize = reader.ReadUInt16();
2727

28+
if (atomSize == 0)
29+
{
30+
Nodes.Add(new MetafileNode(name));
31+
continue;
32+
}
33+
34+
var atoms = new string[atomSize];
2835
for (var j = 0; j < atomSize; j++)
29-
node.Atoms.Add(reader.ReadStringB());
36+
atoms[j] = reader.ReadStringB();
3037

31-
Nodes.Add(node);
38+
Nodes.Add(new MetafileNode(name, atoms));
3239
}
3340
}
3441

@@ -44,7 +51,7 @@ public override Stream Save(MemoryStream stream)
4451
foreach (var node in Nodes)
4552
{
4653
writer.WriteStringA(node.Name);
47-
writer.Write((ushort)node.Atoms.Count);
54+
writer.Write((ushort)node.Atoms.Length);
4855

4956
foreach (var atom in node.Atoms)
5057
writer.WriteStringB(atom);
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
using System.Collections.Specialized;
2-
3-
namespace Darkages.Models;
1+
namespace Darkages.Models;
42

53
public class MetafileNode
64
{
75
public MetafileNode(string name, params string[] atoms)
86
{
97
Name = name;
10-
Atoms = new StringCollection();
11-
Atoms.AddRange(atoms);
8+
Atoms = atoms ?? [];
129
}
1310

14-
public StringCollection Atoms { get; }
11+
public string[] Atoms { get; }
1512
public string Name { get; }
1613
}

0 commit comments

Comments
 (0)