Example #1
0
 public void Return(PoolObjectController controller)
 {
     foreach (var c in ObjectPoolUtils.ResolveNestedPoolObjects(controller))
     {
         poolDictionary[c.Id].Return(c);
     }
 }
Example #2
0
 protected virtual void Awake()
 {
     _poolObjectController = GetComponent <PoolObjectController>();
     if (_poolObjectController == null)
     {
         Debug.LogWarning("PoolManagedBehaviour must be instantiated by ObjectPool.");
     }
 }
Example #3
0
 public static IEnumerable <PoolObjectController> ResolveNestedPoolObjects(PoolObjectController controller)
 {
     return(controller.GetComponentsInChildren <PoolObjectController>()   // DeepFirstSearch
            .Where(c => c.IsRenting)
            .Reverse());
 }