using System.Collections; using System.Collections.Generic; using UnityEngine; namespace UltraCombos.Utility { public sealed class NativeBufferPool : Singleton { private NativeBufferPool() { } Dictionary references = new Dictionary(); public System.IntPtr GetReference(System.IntPtr bufferHandle) { if (references.ContainsKey(bufferHandle) == false) references.Add(bufferHandle, Buffer.Create(bufferHandle)); return references[bufferHandle]; } private void OnDestroy() { foreach (var buf in references.Values) { Buffer.Release(buf); } } } }