ObjectPooler .cs
Метод уничтожения объекта
нам нужно знать какого типа этого объект, чтобы добавить его в соответствующую очередь.
получаем тип объекта через интерфейс
добавляем объект в очередь соответствующего пула отключаем объект
public void DestroyObject(GameObject obj)
{
pools[obj.GetComponent<IPooledObject>().Type].Objects.Enqueue(obj);
obj.SetActive(false);
}