Show / Hide Table of Contents

Class Pooling

A class that makes it easy to pool any object you want. Acts as a drop-in replacement for GameObject.Instantiate, while still reaping the benefits of pooling

This class handles creating ObjectPools for you, so you can just call Instantiate(GameObject) to instantiate a pooled object

Inheritance
object
Pooling
Namespace: WeaverCore
Assembly: WeaverCore.dll
Syntax
public static class Pooling

Methods

| Edit this page View Source

CreatePool(GameObject)

Creates a new pool for a prefab

Declaration
public static ObjectPool CreatePool(GameObject prefab)
Parameters
Type Name Description
GameObject prefab

The prefab to create a new pool for

Returns
Type Description
ObjectPool

The new pool for the prefab

| Edit this page View Source

CreatePool(PoolableObject)

Creates a new pool for a prefab

Declaration
public static ObjectPool CreatePool(PoolableObject prefab)
Parameters
Type Name Description
PoolableObject prefab

The prefab to create a new pool for

Returns
Type Description
ObjectPool

The new pool for the prefab

| Edit this page View Source

CreatePool<T>(T)

Creates a new pool for a prefab

Declaration
public static ObjectPool CreatePool<T>(T prefab) where T : Component
Parameters
Type Name Description
T prefab

The prefab to create a new pool for

Returns
Type Description
ObjectPool

The new pool for the prefab

Type Parameters
Name Description
T

The type of component on the prefab

| Edit this page View Source

Destroy(GameObject)

Destroys an existing object and returns it to a pool

Declaration
public static void Destroy(GameObject gameObject)
Parameters
Type Name Description
GameObject gameObject

The object to destroy

| Edit this page View Source

Destroy(GameObject, float)

Destroys an existing object and returns it to a pool

Declaration
public static void Destroy(GameObject gameObject, float time)
Parameters
Type Name Description
GameObject gameObject

The object to destroy

float time

The delay before the object is returned to the pool

| Edit this page View Source

Destroy(PoolableObject)

Destroys an existing object and returns it to a pool

Declaration
public static void Destroy(PoolableObject poolableObject)
Parameters
Type Name Description
PoolableObject poolableObject

The object to destroy

| Edit this page View Source

Destroy(PoolableObject, float)

Destroys an existing object and returns it to a pool

Declaration
public static void Destroy(PoolableObject poolableObject, float time)
Parameters
Type Name Description
PoolableObject poolableObject

The object to destroy

float time

The delay before the object is returned to the pool

| Edit this page View Source

Destroy<T>(T)

Destroys an existing object and returns it to a pool

Declaration
public static void Destroy<T>(T component) where T : Component
Parameters
Type Name Description
T component

The object to destroy

Type Parameters
Name Description
T

The type of component from the destroyed object

| Edit this page View Source

Destroy<T>(T, float)

Destroys an existing object and returns it to a pool

Declaration
public static void Destroy<T>(T component, float time) where T : Component
Parameters
Type Name Description
T component

The object to destroy

float time

The delay before the object is returned to the pool

Type Parameters
Name Description
T

The type of component from the destroyed object

| Edit this page View Source

Instantiate(GameObject)

Instantiates a pooled object

Declaration
public static GameObject Instantiate(GameObject prefab)
Parameters
Type Name Description
GameObject prefab

The prefab to instantiate from a pool

Returns
Type Description
GameObject

Returns a newly instantiated object

| Edit this page View Source

Instantiate(GameObject, Transform)

Instantiates a pooled object

Declaration
public static GameObject Instantiate(GameObject prefab, Transform parent)
Parameters
Type Name Description
GameObject prefab

The prefab to instantiate from a pool

Transform parent

The parent of the newly instantiated object

Returns
Type Description
GameObject

Returns a newly instantiated object

| Edit this page View Source

Instantiate(GameObject, Transform, bool)

Instantiates a pooled object

Declaration
public static GameObject Instantiate(GameObject prefab, Transform parent, bool instantiateInWorldSpace)
Parameters
Type Name Description
GameObject prefab

The prefab to instantiate from a pool

Transform parent

The parent of the newly instantiated object

bool instantiateInWorldSpace

Should the object be positioned in world space? If false, it will be positioned relative to the parent

Returns
Type Description
GameObject

Returns a newly instantiated object

| Edit this page View Source

Instantiate(GameObject, Vector3, Quaternion)

Instantiates a pooled object

Declaration
public static GameObject Instantiate(GameObject prefab, Vector3 position, Quaternion rotation)
Parameters
Type Name Description
GameObject prefab

The prefab to instantiate from a pool

Vector3 position

The position of the newly instantiated object

Quaternion rotation

The rotation of the newly instantiated object

Returns
Type Description
GameObject

Returns a newly instantiated object

| Edit this page View Source

Instantiate(GameObject, Vector3, Quaternion, Transform)

Instantiates a pooled object

Declaration
public static GameObject Instantiate(GameObject prefab, Vector3 position, Quaternion rotation, Transform parent)
Parameters
Type Name Description
GameObject prefab

The prefab to instantiate from a pool

Vector3 position

The position of the newly instantiated object

Quaternion rotation

The rotation of the newly instantiated object

Transform parent

The parent of the newly instantiated object

Returns
Type Description
GameObject

Returns a newly instantiated object

| Edit this page View Source

Instantiate<T>(T)

Instantiates a pooled object

Declaration
public static T Instantiate<T>(T prefab) where T : Component
Parameters
Type Name Description
T prefab

The prefab to instantiate from a pool

Returns
Type Description
T

Returns a newly instantiated object

Type Parameters
Name Description
T

The component type to get from the instantiated object

| Edit this page View Source

Instantiate<T>(T, Transform)

Instantiates a pooled object

Declaration
public static T Instantiate<T>(T prefab, Transform parent) where T : Component
Parameters
Type Name Description
T prefab

The prefab to instantiate from a pool

Transform parent

The parent of the newly instantiated object

Returns
Type Description
T

Returns a newly instantiated object

Type Parameters
Name Description
T

The component type to get from the instantiated object

| Edit this page View Source

Instantiate<T>(T, Transform, bool)

Instantiates a pooled object

Declaration
public static T Instantiate<T>(T prefab, Transform parent, bool instantiateInWorldSpace) where T : Component
Parameters
Type Name Description
T prefab

The prefab to instantiate from a pool

Transform parent

The parent of the newly instantiated object

bool instantiateInWorldSpace

Should the object be positioned in world space? If false, it will be positioned relative to the parent

Returns
Type Description
T

Returns a newly instantiated object

Type Parameters
Name Description
T

The component type to get from the instantiated object

| Edit this page View Source

Instantiate<T>(T, Vector3, Quaternion)

Instantiates a pooled object

Declaration
public static T Instantiate<T>(T prefab, Vector3 position, Quaternion rotation) where T : Component
Parameters
Type Name Description
T prefab

The prefab to instantiate from a pool

Vector3 position

The position of the newly instantiated object

Quaternion rotation

The rotation of the newly instantiated object

Returns
Type Description
T

Returns a newly instantiated object

Type Parameters
Name Description
T

The component type to get from the instantiated object

| Edit this page View Source

Instantiate<T>(T, Vector3, Quaternion, Transform)

Instantiates a pooled object

Declaration
public static T Instantiate<T>(T prefab, Vector3 position, Quaternion rotation, Transform parent) where T : Component
Parameters
Type Name Description
T prefab

The prefab to instantiate from a pool

Vector3 position

The position of the newly instantiated object

Quaternion rotation

The rotation of the newly instantiated object

Transform parent

The parent of the newly instantiated object

Returns
Type Description
T

Returns a newly instantiated object

Type Parameters
Name Description
T

The component type to get from the instantiated object

  • Edit this page
  • View Source
☀
☾
In this article
Back to top
Generated by DocFX
☀
☾