49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: Terraria.DataStructures.BinaryWriterHelper
|
|
// Assembly: Terraria, Version=1.4.0.5, Culture=neutral, PublicKeyToken=null
|
|
// MVID: 67F9E73E-0A81-4937-A22C-5515CD405A83
|
|
// Assembly location: C:\Users\mikeyisbaeyt\Downloads\depotdownloader-2.4.5\depots\105601\6707058\Terraria.exe
|
|
|
|
using System.IO;
|
|
|
|
namespace Terraria.DataStructures
|
|
{
|
|
public struct BinaryWriterHelper
|
|
{
|
|
private long _placeInWriter;
|
|
|
|
public void ReservePointToFillLengthLaterByFilling6Bytes(BinaryWriter writer)
|
|
{
|
|
this._placeInWriter = writer.BaseStream.Position;
|
|
writer.Write(0U);
|
|
writer.Write((ushort) 0);
|
|
}
|
|
|
|
public void FillReservedPoint(BinaryWriter writer, ushort dataId)
|
|
{
|
|
long position = writer.BaseStream.Position;
|
|
writer.BaseStream.Position = this._placeInWriter;
|
|
long num = position - this._placeInWriter - 4L;
|
|
writer.Write((int) num);
|
|
writer.Write(dataId);
|
|
writer.BaseStream.Position = position;
|
|
}
|
|
|
|
public void FillOnlyIfThereIsLengthOrRevertToSavedPosition(
|
|
BinaryWriter writer,
|
|
ushort dataId,
|
|
out bool wroteSomething)
|
|
{
|
|
wroteSomething = false;
|
|
long position = writer.BaseStream.Position;
|
|
writer.BaseStream.Position = this._placeInWriter;
|
|
long num = position - this._placeInWriter - 4L;
|
|
if (num == 0L)
|
|
return;
|
|
writer.Write((int) num);
|
|
writer.Write(dataId);
|
|
writer.BaseStream.Position = position;
|
|
wroteSomething = true;
|
|
}
|
|
}
|
|
}
|