46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: Terraria.DataStructures.CachedBuffer
|
|
// 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 class CachedBuffer
|
|
{
|
|
public readonly byte[] Data;
|
|
public readonly BinaryWriter Writer;
|
|
public readonly BinaryReader Reader;
|
|
private readonly MemoryStream _memoryStream;
|
|
private bool _isActive = true;
|
|
|
|
public int Length => this.Data.Length;
|
|
|
|
public bool IsActive => this._isActive;
|
|
|
|
public CachedBuffer(byte[] data)
|
|
{
|
|
this.Data = data;
|
|
this._memoryStream = new MemoryStream(data);
|
|
this.Writer = new BinaryWriter((Stream) this._memoryStream);
|
|
this.Reader = new BinaryReader((Stream) this._memoryStream);
|
|
}
|
|
|
|
internal CachedBuffer Activate()
|
|
{
|
|
this._isActive = true;
|
|
this._memoryStream.Position = 0L;
|
|
return this;
|
|
}
|
|
|
|
public void Recycle()
|
|
{
|
|
if (!this._isActive)
|
|
return;
|
|
this._isActive = false;
|
|
BufferPool.Recycle(this);
|
|
}
|
|
}
|
|
}
|