Рубрики
Unity Object Pool Синглтон

Использование пула объектов на примере

ObjectPooler.cs
Инициализируем пул

создаём пустой GameObject
из которого мы будем создавать объекты контейнеры

для каждого объекта в objectInfo
создаём контейнер
присваиваем ему имя
создаём пул
добавляем его в Dictionary
создаём объект с помощью созданного метода InstantiateObject
добавляем в очередь объектов
после всего удаляем emptyGo

private void InitPool()
{
pools=new Dictionary<ObjectInfo.ObjectType,Pool>();
var emptyGO=new GameObject();
foreach (var obj in objectsInfo)
{
var container=Instantiate(emptyGO,transform,false);
pools[obj.Type]=new Pool(container.transform);

for (int i=0;i<obj.StartCount;i++)
{
var go=InstatiateObject(obj.Type,container.transform);
pools[obj.Type].Objects.Equerue(go);
}

}
Destroy(emptyGO);
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *