Unity 6.3
0 онлайн 44 гостей 3 в системе
Вход

CollectionPool<T0,T1>

класс в UnityEngine.Pool

Выполнено в:UnityEngine.CoreModule

Описание

Коллекция, такая как Список, HashSet, Словарь и т.д., может быть объединена и повторно использована с помощью CollectionPool.

Примечание CollectionPool Дополнительные ресурсы: DictionaryPool<T0,T1>, HashSetPool<T0>, ListPool<T0>.

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 = CollectionPool<List<Vector2>, 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 (CollectionPool<List<Vector2>, 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; } }

Статические методы

Метод Описание
GetПолучить экземпляр из пула. Если пул пуст, то будет создан новый экземпляр.
ReleaseВозвращает экземпляр в пул.