Playground by Górka Mateusz
Goo.Tools.Pooling.SimpleObjectPooler Class Reference

Component-based object pooler running on GameObjects class. More...

+ Inheritance diagram for Goo.Tools.Pooling.SimpleObjectPooler:
+ Collaboration diagram for Goo.Tools.Pooling.SimpleObjectPooler:

Public Member Functions

virtual GameObject GetObject ()
 
virtual GameObject GetObject (Vector3 position, Quaternion rotation)
 
virtual T GetObject< T > ()
 
virtual void DisableAll ()
 
virtual void DestroyAll ()
 
GameObject GetObject ()
 
GameObject GetObject (Vector3 position, Quaternion rotation)
 

Private Member Functions

GameObject CreateNewObject ()
 

Private Attributes

readonly ListOfGameObject _list = new ListOfGameObject()
 

Additional Inherited Members

- Static Public Attributes inherited from Goo.Tools.Pooling.ObjectPoolerBase
const string PREFIX_NAME = "[Pooling] "
 
- Protected Member Functions inherited from Goo.Tools.Pooling.ObjectPoolerBase
virtual void Awake ()
 
- Protected Attributes inherited from Goo.Tools.Pooling.ObjectPoolerBase
GameObject _prefab
 
Transform _parent
 

Detailed Description

Component-based object pooler running on GameObjects class.

Running GameObject.SetActive(false) frees the object.

Member Function Documentation

◆ GetObject() [1/2]

virtual GameObject Goo.Tools.Pooling.SimpleObjectPooler.GetObject ( )
inlinevirtual

Implements Goo.Tools.Pooling.IObjectPooler.

20 {
21 GameObject obj = _list.GetRecycled();
22 if (obj == null)
23 {
24 obj = CreateNewObject();
25 }
26
27 obj.SetActive(true);
28 return obj;
29 }
T GetRecycled()
Definition: PoolerList.cs:7
readonly ListOfGameObject _list
Definition: SimpleObjectPooler.cs:17
GameObject CreateNewObject()
Definition: SimpleObjectPooler.cs:31

◆ CreateNewObject()

GameObject Goo.Tools.Pooling.SimpleObjectPooler.CreateNewObject ( )
inlineprivate
32 {
33 GameObject obj = Instantiate(_prefab, _parent);
34 _list.Add(obj);
35 return obj;
36 }
Transform _parent
Definition: ObjectPoolerBase.cs:12
GameObject _prefab
Definition: ObjectPoolerBase.cs:10

◆ GetObject() [2/2]

virtual GameObject Goo.Tools.Pooling.SimpleObjectPooler.GetObject ( Vector3  position,
Quaternion  rotation 
)
inlinevirtual

Implements Goo.Tools.Pooling.IObjectPooler.

39 {
40 var obj = GetObject();
41 obj.transform.position = position;
42 obj.transform.rotation = rotation;
43 return obj;
44 }
virtual GameObject GetObject()
Definition: SimpleObjectPooler.cs:19

◆ GetObject< T >()

virtual T Goo.Tools.Pooling.SimpleObjectPooler.GetObject< T > ( )
inlinevirtual
47 {
48 GameObject obj = GetObject();
49 return obj.GetComponent<T>();
50 }

◆ DisableAll()

virtual void Goo.Tools.Pooling.SimpleObjectPooler.DisableAll ( )
inlinevirtual
53 {
54 foreach (var item in _list)
55 item.SetActive(false);
56 }

◆ DestroyAll()

virtual void Goo.Tools.Pooling.SimpleObjectPooler.DestroyAll ( )
inlinevirtual
59 {
60 foreach (var item in _list)
61 Destroy(item);
62 }

Member Data Documentation

◆ _list

readonly ListOfGameObject Goo.Tools.Pooling.SimpleObjectPooler._list = new ListOfGameObject()
private

The documentation for this class was generated from the following file: