public static void PopCurrent( ) { if (CacheStack.Count == 0) { throw new InvalidProgramException("No current ObjectCache set"); } CacheStack.Pop( ); }
public void Dispose() { if (_isDisposed) { return; } CacheStack.Pop(); _isDisposed = true; }
public override void Dispose() { while (CacheStack.Count > 0) { TComponent item = CacheStack.Pop(); OnDispose?.Invoke(item); Object.Destroy(item.gameObject); } CacheStack.Clear(); }