Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
BinaryWriterHelper.cs
Go to the documentation of this file.
1using System.IO;
2
4
5public struct BinaryWriterHelper
6{
7 private long _placeInWriter;
8
10 {
11 _placeInWriter = writer.BaseStream.Position;
12 writer.Write(0u);
13 writer.Write((ushort)0);
14 }
15
16 public void FillReservedPoint(BinaryWriter writer, ushort dataId)
17 {
18 long position = writer.BaseStream.Position;
19 writer.BaseStream.Position = _placeInWriter;
20 long num = position - _placeInWriter - 4;
21 writer.Write((int)num);
22 writer.Write(dataId);
23 writer.BaseStream.Position = position;
24 }
25
26 public void FillOnlyIfThereIsLengthOrRevertToSavedPosition(BinaryWriter writer, ushort dataId, out bool wroteSomething)
27 {
28 wroteSomething = false;
29 long position = writer.BaseStream.Position;
30 writer.BaseStream.Position = _placeInWriter;
31 long num = position - _placeInWriter - 4;
32 if (num != 0L)
33 {
34 writer.Write((int)num);
35 writer.Write(dataId);
36 writer.BaseStream.Position = position;
37 wroteSomething = true;
38 }
39 }
40}
void FillReservedPoint(BinaryWriter writer, ushort dataId)
void ReservePointToFillLengthLaterByFilling6Bytes(BinaryWriter writer)
void FillOnlyIfThereIsLengthOrRevertToSavedPosition(BinaryWriter writer, ushort dataId, out bool wroteSomething)