1using System.Collections.Generic;
 
    3using UnityEngine.Events;
 
    7    private readonly Stack<T> 
m_Stack = 
new Stack<T>();
 
   19    public ObjectPool(UnityAction<T> actionOnGet, UnityAction<T> actionOnRelease)
 
   46        if (
m_Stack.Count > 0 && (
object)
m_Stack.Peek() == (
object)element)
 
   48            Debug.LogError(
"Internal error. Trying to destroy object that is already released to pool.");
 
readonly UnityAction< T > m_ActionOnGet
 
readonly Stack< T > m_Stack
 
readonly UnityAction< T > m_ActionOnRelease
 
ObjectPool(UnityAction< T > actionOnGet, UnityAction< T > actionOnRelease)