using System; using Unity.Collections; using Unity.Mathematics; namespace DanieleMarotta.RiversongCodeShowcase { public struct TilePath : IDisposable { private const int InitialCapacity = 50; public NativeList Steps; public int StepCount => Steps.Length; public static TilePath Initialize(Allocator allocator = Allocator.Persistent) { return new TilePath { Steps = new NativeList(InitialCapacity, allocator) }; } public void Dispose() { if (Steps.IsCreated) { Steps.Dispose(); Steps = default; } } } }