// MIT License - Copyright (c) 2025 wallstop // Full license text: https://github.com/wallstop/unity-helpers/blob/main/LICENSE namespace WallstopStudios.UnityHelpers.Utils { using System; using System.Threading.Tasks; public readonly struct DeferredDisposalResult { public readonly T result; private readonly Func _disposeAsync; public DeferredDisposalResult(T result, Func disposeAsync) { this.result = result; _disposeAsync = disposeAsync ?? throw new ArgumentNullException(nameof(disposeAsync)); } public ValueTask DisposeAsync() => _disposeAsync(); } }