Ошибка в идеологии. Пет - это не специальный вид кричи, это функция (атрибут) юнита. Крича с одним идом может быть как петом так и нет (в теории). Так что поиск через гридсерчер все равно придется пропускать через фильтр хозяин-пет. Есть ли смысл 2 раза делать одну работу - непонятно.
Кроме того, ваш поиск найдет петов, которые уже перестали быть таковыми - например удрали от игрока...
Так что IMHO алгоритм должен быть - ищем игроков, берем их петов и кастим. Проще, вернее в теории и куда менее ресурсоемко.
|