Как реализовать Pool в Unity?

Хочу реализовать Pool в Unity, но все варианты в сети хранят и возвращают тип GameObject (собственно я и сам такой создавал, там ничего сложного). Пример:

Gameobject bullet = PoolManager.GetObject (bulletPrefab.name, shotPoint.position);

А если мне нужно обратиться к какой-то функции в полученном объекте? В моем случае это вызвать метод Shot() у объекта Bullet;

GetComponent делать глупо, зачем тогда пул создавать.

Мне нужна подсказка в каком направлении искать решение. Смотрел про обобщения, но то ли это невозможно реализовать, то ли у меня опыта не хватает.

Рассматривал вариант создать в PoolObject свойства со всеми типами, которые нужно хранить в пуле и в зависимости от положения enum делать в Start GetComponent. Насколько этот вариант имеет место быть? Вообще хочется что-то поуниверсальнее.


Ответы (0 шт):