Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


ListPool<T>

A version of CollectionPool<TCollection, TItem> for Lists.
Read time 1 minuteLast updated 4 days ago

Definition

  • Type: Class
  • Namespace: UnityEngine.Pool
  • Assembly: UnityEngine.CoreModule
  • Inherits from: CollectionPool<List<T>, T>
public class ListPool<T> : CollectionPool<List<T>, T>

Examples

using System.Collections.Generic;using UnityEngine;using UnityEngine.Pool;// This example shows how both version of Get could be used to simplify a line of points.public class Simplify2DLine{ public List<Vector2> SimplifyLine(Vector2[] points) { // This version will only be returned to the pool if we call Release on it. var simplifiedPoints = ListPool<Vector2>.Get(); // Copy the points into a temp list so we can pass them into the Simplify method // When the pooled object leaves the scope it will be Disposed and returned to the pool automatically. // This version is ideal for working with temporary lists. using (var pooledObject = ListPool<Vector2>.Get(out List<Vector2> tempList)) { for (int i = 0; i < points.Length; ++i) { tempList.Add(points[i]); } LineUtility.Simplify(tempList, 1.5f, simplifiedPoints); } return simplifiedPoints; }}

Inheritance

Inherited Members

  • CollectionPool<List<T>, T>.Get()
  • CollectionPool<List<T>, T>.Get(List<T>)
  • CollectionPool<List<T>, T>.Release(List<T>)