Как реализовать Pool в Unity?
Хочу реализовать Pool в Unity, но все варианты в сети хранят и возвращают тип GameObject (собственно я и сам такой создавал, там ничего сложного). Пример:
Gameobject bullet = PoolManager.GetObject (bulletPrefab.name, shotPoint.position);
А если мне нужно обратиться к какой-то функции в полученном объекте? В моем случае это вызвать метод Shot() у объекта Bullet;
GetComponent делать глупо, зачем тогда пул создавать.
Мне нужна подсказка в каком направлении искать решение. Смотрел про обобщения, но то ли это невозможно реализовать, то ли у меня опыта не хватает.
Рассматривал вариант создать в PoolObject свойства со всеми типами, которые нужно хранить в пуле и в зависимости от положения enum делать в Start GetComponent. Насколько этот вариант имеет место быть? Вообще хочется что-то поуниверсальнее.