Экспериментальная реализация пула GameObject-ов с автоотчисткой для Unity.
Собственно сам пул. В инспекторе можно настроить максимальную вместимость, параметры автоотчистки и т.д. Все объекты по ирерахии внутри пула которые явлются копиями указанного префаба будут автоматически добавлены в список. Имеется 2 кнопки: Validate
для валидации состояния пула и Revert Prefabs
для сброса всех изменений в копиях префаба.
Объекты подлежащие хранению в пуле должны иметь компонент ObjectPoolUnit.
ScriptableObject-ссылка на пул на сцене, для возможности указывать в полях префабов. Если при обращении на сцене еще нет пула, то создает новый из префаба.
Для генерации пула достаточно кликнуть правой кнопкой мыши по GameObject
-у для которого нужно сгенерировать пул и выбрать ObjectPools -> Generate Pool
, если выбранный GameObject
не префаб, то превратит его в префаб и сохранит в папке Assets/Generated Pools
, далее на месте префаба создат папку с названием префаба и поместит туда сам префаб, такм же сгененирует для него пул с 8 экземплярами префаба и создаст ObjectPoolRef
для этого префаба.