File tree Expand file tree Collapse file tree 2 files changed +14
-10
lines changed
Expand file tree Collapse file tree 2 files changed +14
-10
lines changed Original file line number Diff line number Diff 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 ) ;
Original file line number Diff line number Diff line change 1- using System . Collections . Specialized ;
2-
3- namespace Darkages . Models ;
1+ namespace Darkages . Models ;
42
53public 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}
You can’t perform that action at this time.
0 commit comments