// 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); } } }