В общем со статиками так пока и не разобрался, но дошла одна маленькая вещь.. Как до жирафа.. Надо сильно забыть концепцию миссии из ила, т.к. тут как таковой миссии (с точки зрения Ила) не существует. Есть "битва", а в ее рамках выполняются различные миссии.
Миссия вообще умеет может загружать сама себя. Технически это конечно не так, но выглядит именно так.Т.е. из миссии мы приказываем через GamePlay.gpPostMissionLoad() загрузить в битву еще одну миссию, а что это за миссия - не важно. Походу общими для всех миссий является объект Battle и наверное GamePlay... Каждая миссия загружается под новым номером.
Скажем у меня есть одна миссия-хост (так сказать, "точка входа"). По OnBattleStarted() она загружает стартовый набор миссий (скажем одна - красные танки, вторая синие танки, едут навстречу). И в каждой из этих миссий отслеживается OnActorDead(). Если была уничтожена группа (она одна все равно), миссия загружает себя снова, сразу или по таймеру. Если помер танчик, то через несколько сек. убираем его трупик через Destroy(), что бы не мешался. Получается "бесконечная" стенка-на-стенку.Но миссия-хост понятия не имеет, что там творится. Вот в чем затык. (
Что делать со старыми, "сёгранными" кар... миссиями? Или если на круглосуточном сервере скажем рано или поздно счетчик выйдет за MAXINT?
Что есть поле MissionNumberListener? Пробовал присваивать номер свежезагруженной миссии - вообще всякие события вызывать перестало (в этой миссии).
Ну и собственно, пока не придумал, как эти миссии связать в одну кучу. Т.е. у Battle есть список миссий, но он в защищенном поле... облом.. Ивентов у Battle тоже нет. Подозреваю, для этого надо бы рисовать свой собственный Battle, а это будет доступно только в юзер-аддоне? Или есть другой путь?
Кстати интересная особенность (возвращаясь все к той же машинке из колонны). Похоже события миссии должны срабатывать только для своих "объектов".. Но они работают и для другой миссии - частично для "продвинутой" наземки и полностью для самолетов. Частично - имеется ввиду, что когда загружается новая миссия с акторами, в "старой" на каждого свежесозданного актора срабатывает OnActorCreated(), но никакой внятной инфы из параметров выдрать нельзя. shortName = "NONAME", actor не является ни группой, ни наземкой, вообще ничем походу... Хотя если в одной миссии поставить триггер "Враги прилетели", то если эта "анонимная" наземка из другой миссии туда заезжает, тригер срабатывает... Или я совсем уже запутался.![]()