class_ObjectPool
title: class ObjectPool toc_max_heading_level: 4
class ObjectPool
(Niantic.Lightship.Maps.ObjectPools.ObjectPool)
概要
UnityのUnityObjectから派生した型に対応した汎用的なオブジェクトプール
template <T>
class ObjectPool: IPooledObjectAccessor< T > {
public:
// メソッド
ObjectPool(
T source,
Action<T> onCreate = null,
Action<PooledObject<T>> onAcquire = null,
Action<T> onRelease = null
);
PooledObject<T> GetOrCreate();
};
詳細なドキュメント
UnityのUnityObjectから派生 した型に対応した汎用的なオブジェクトプール
パラメーター:
T
- プールの派生型
メソッド
ObjectPool
ObjectPool(
T source,
Action<T> onCreate = null,
Action<PooledObject<T>> onAcquire = null,
Action<T> onRelease = null
)
コンストラクタ
パラメーター:
source
- プール内で複製されるオブジェクト。
onCreate
- 新しくインスタンス化されたオブジェクトが最初に作成されたときに呼び出されるアクション。
onAcquire
- 新しいオブジェクトや再利用されるオブジェクトが取得されたときに、それが呼び出し元に返される前に呼び出されるアクション。
onRelease
- オブジェクトが開放されたときに呼び出されるアクション。
ArgumentNullException
- ソースがNULLの場合はスローされます。
GetOrCreate
PooledObject<T> GetOrCreate()
プール内のオブジェクトを取得します(可能な場合)。 それ以外の場合は、オブジェクトの新しいインスタンスを返し、それに対してonCreate()を呼び出します。
次の値が返ります。
プール内のオブジェクト(可能な場合)。 それ以外の場合は、オブジェクトの新しいインスタンス。