Пул объектов позволяет сократить время и ресурсы на создания объектов благодаря повторному использованию существующих объектов вместо создания новых.
Необходимый функционал:
- Предсоздание необходимых на старте игры объектов
- Получение объектов
- Возвращение объектов
- Сброс состояния объектов
Интерфейс объекта пула
public interface IPoolable
{
void OnRelease();
}
Пример пула объектов
public class PoolObjects
{
public void PrePool()
{
// ...
}
public T Get<T>() whereT : MonoBehaviour, IPoolable
{
// ...
}
public void Release<T>(T poolableObject) where T : MonoBehaviour, IPoolable
{
// ...
}
}
Необходимо реализовать в предыдущем проекте и все методы создания/разрушения объектов необходимо заменить методами получения/возвращения пула.