Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
BinaryObjectWithMap.cs
Go to the documentation of this file.
2
3internal sealed class BinaryObjectWithMap : IStreamable
4{
6
7 internal int _objectId;
8
9 internal string _name;
10
11 internal int _numMembers;
12
13 internal string[] _memberNames;
14
15 internal int _assemId;
16
18 {
19 }
20
25
26 internal void Set(int objectId, string name, int numMembers, string[] memberNames, int assemId)
27 {
29 _name = name;
33 _binaryHeaderEnum = ((assemId > 0) ? BinaryHeaderEnum.ObjectWithMapAssemId : BinaryHeaderEnum.ObjectWithMap);
34 }
35
37 {
38 output.WriteByte((byte)_binaryHeaderEnum);
39 output.WriteInt32(_objectId);
40 output.WriteString(_name);
41 output.WriteInt32(_numMembers);
42 for (int i = 0; i < _numMembers; i++)
43 {
44 output.WriteString(_memberNames[i]);
45 }
46 if (_assemId > 0)
47 {
48 output.WriteInt32(_assemId);
49 }
50 }
51
52 public void Read(BinaryParser input)
53 {
54 _objectId = input.ReadInt32();
55 _name = input.ReadString();
56 _numMembers = input.ReadInt32();
57 _memberNames = new string[_numMembers];
58 for (int i = 0; i < _numMembers; i++)
59 {
60 _memberNames[i] = input.ReadString();
61 }
62 if (_binaryHeaderEnum == BinaryHeaderEnum.ObjectWithMapAssemId)
63 {
64 _assemId = input.ReadInt32();
65 }
66 }
67}
void Set(int objectId, string name, int numMembers, string[] memberNames, int assemId)