Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
public virtual T Pop<T>(K groupKey) where T : V // достаем из пула
{
T result = default(T);// значение по умолчанию
if (Contains(groupKey) && objects[groupKey].Count > 0) // Если есть в контейнере и контейнер не пустой
{
for (int i = 0; i < objects[groupKey].Count; i++) // перебираем контейнер
{
if (objects[groupKey][i] is T) // если тип соответствует
{
result = (T)objects[groupKey][i]; // присваиваем результату соответствие
Type type = result.GetType(); // получаем тип
RemoveObject(groupKey, i); // удалем из базы данных
RemoveFromCache(result, type); // удаляем из кеша
result.Create(); // вызываем псевдо-конструктор
break; // дальше что-то искать нет смысла, обрываем
}
}
}
return result; // получаем результат
}
Pool объектов для Unity3d