版本:Unity 6 (6000.0)
语言英语
  • C#

CollectionPool<T0,T1>.Get

提出更改建议

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实会阅读用户提出的每一条更改建议,并在适当的情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请在几分钟后<a>重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static TCollection Get();

返回值

TCollection 池中的对象或(如果池为空)一个新实例。

说明

从池中获取一个实例。如果池为空,则将创建一个新实例。

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; } }

声明

public static PooledObject<TCollection> Get(out TCollection value);

参数

value 输出参数,它将包含对池中一个实例的引用。

返回值

PooledObject<TCollection> 一个 PooledObject,它在调用其 Dispose 方法时将把实例返回到池中。

说明

返回一个 PooledObject,它在释放时自动将实例返回到池中。