2 using System.Collections.Generic;
8 readonly Dictionary<Type, object> _objectPools;
11 _objectPools =
new Dictionary<Type, object>();
17 if(!_objectPools.TryGetValue(type, out objectPool)) {
19 _objectPools.Add(type, objectPool);
25 public T Get<T>() where T :
new() {
26 return GetObjectPool<T>().Get();
29 public void Push<T>(T obj) where T :
new() {
30 GetObjectPool<T>().Push(obj);
33 public void RegisterCustomObjectPool<T>(
ObjectPool<T> objectPool) {
34 _objectPools.Add(typeof(T), objectPool);