/Unity-ObjectPools

Реализация пула с автоотчисткой.

Primary LanguageC#MIT LicenseMIT

Unity-ObjectPools

Экспериментальная реализация пула GameObject-ов с автоотчисткой для Unity.

Базовые классы

ObjectPool

Собственно сам пул. В инспекторе можно настроить максимальную вместимость, параметры автоотчистки и т.д. Все объекты по ирерахии внутри пула которые явлются копиями указанного префаба будут автоматически добавлены в список. Имеется 2 кнопки: Validate для валидации состояния пула и Revert Prefabs для сброса всех изменений в копиях префаба.

ObjectPoolUnit

Объекты подлежащие хранению в пуле должны иметь компонент ObjectPoolUnit.

ObjectPoolRef

ScriptableObject-ссылка на пул на сцене, для возможности указывать в полях префабов. Если при обращении на сцене еще нет пула, то создает новый из префаба.

Генерация пула

Для генерации пула достаточно кликнуть правой кнопкой мыши по GameObject-у для которого нужно сгенерировать пул и выбрать ObjectPools -> Generate Pool, если выбранный GameObject не префаб, то превратит его в префаб и сохранит в папке Assets/Generated Pools, далее на месте префаба создат папку с названием префаба и поместит туда сам префаб, такм же сгененирует для него пул с 8 экземплярами префаба и создаст ObjectPoolRef для этого префаба.