diff options
Diffstat (limited to 'Assets/UI_Extension/Scripts/Utilities/ListPool.cs')
-rw-r--r-- | Assets/UI_Extension/Scripts/Utilities/ListPool.cs | 23 |
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); + } + } +} |