summaryrefslogtreecommitdiff
path: root/Assets/UI_Extension/Scripts/Utilities/ListPool.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/UI_Extension/Scripts/Utilities/ListPool.cs')
-rw-r--r--Assets/UI_Extension/Scripts/Utilities/ListPool.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/Assets/UI_Extension/Scripts/Utilities/ListPool.cs b/Assets/UI_Extension/Scripts/Utilities/ListPool.cs
new file mode 100644
index 0000000..774d55c
--- /dev/null
+++ b/Assets/UI_Extension/Scripts/Utilities/ListPool.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UIExt
+{
+
+ internal static class ListPool<T>
+ {
+ // Object pool to avoid allocations.
+ private static readonly ObjectPool<List<T>> s_ListPool = new ObjectPool<List<T>>(null, l => l.Clear());
+
+ public static List<T> Get()
+ {
+ return s_ListPool.Get();
+ }
+
+ public static void Release(List<T> toRelease)
+ {
+ s_ListPool.Release(toRelease);
+ }
+ }
+}