diff --git a/GDViews.VirtualGridView/Core/IVirtualGridView.cs b/GDViews.VirtualGridView/Core/IVirtualGridView.cs
index fd9a45d..f9242b2 100644
--- a/GDViews.VirtualGridView/Core/IVirtualGridView.cs
+++ b/GDViews.VirtualGridView/Core/IVirtualGridView.cs
@@ -10,7 +10,7 @@ namespace GodotViews.VirtualGrid;
/// to navigate through and customise the virtualized grid view.
///
/// The type for the data this controller focuses on.
-public interface IVirtualGridView
+public interface IVirtualGridView : IDisposable
{
///
/// Accessor for the currently active ElementPositioner,
diff --git a/GDViews.VirtualGridView/Core/VirtualGridViewImpl.cs b/GDViews.VirtualGridView/Core/VirtualGridViewImpl.cs
index c1da1b6..541134e 100644
--- a/GDViews.VirtualGridView/Core/VirtualGridViewImpl.cs
+++ b/GDViews.VirtualGridView/Core/VirtualGridViewImpl.cs
@@ -1183,4 +1183,10 @@ private class DataView
public NullableData Data;
public override string ToString() => $"Button: {AssignedButton?.Name ?? "Null"}, Data: {Data}";
}
+
+ ///
+ public void Dispose()
+ {
+ while (_buttonPool.TryPop(out var instance)) instance.QueueFree();
+ }
}
\ No newline at end of file
diff --git a/GDViews.VirtualGridView/GDViews.VirtualGridView.csproj b/GDViews.VirtualGridView/GDViews.VirtualGridView.csproj
index 6aab037..d55aa84 100644
--- a/GDViews.VirtualGridView/GDViews.VirtualGridView.csproj
+++ b/GDViews.VirtualGridView/GDViews.VirtualGridView.csproj
@@ -14,7 +14,7 @@
true
GDViews.VirtualGridView
- 0.0.2
+ 0.0.3
DE-YU
Based on DotNet, GDViews.VirtualGridView provides classes that are useful for creating highly customizable virtualized grid views.
https://www.nuget.org/packages/GDViews.VirtualGridView
@@ -22,7 +22,7 @@
https://github.com/Delsin-Yu/GDViews.VirtualGridView
git
Godot TabView
- Fix Mouse Wheel Scroll Event doubles, and fix scroll Bar is not accurately reflecting the virtual viewport position.
+ Make IVirtualGridView implement IDisposable, which allows for cleaning cached button instances that are out of the scene tree.
MIT
true