Да нет же! Там все не то. Там по событию OnActorCreated на каждого вновь созданного актора заводится свой личный таймер. Этот свой личный уникальный таймер помнит каждого своего актора по его имени (ну, или еще как-то там). Когда подходит срок кончины актора, то таймер, постоянно зная и не забывая своего родного актора, убивает его.
Вот код из тех примеров:
Код:
public override void OnActorCreated(int missionNumber, string shortName, AiActor actor)
{
base.OnActorCreated(missionNumber, shortName, actor);
//Ground objects will die after 55 min when counted from their birth
if (actor is AiGroundActor)
Timeout(3300, () =>
{
if (actor != null)
{ (actor as AiGroundActor).Destroy(); }
}
);
}
У меня в миссии вообще нет таймеров. Мне это не нужно и не интересно. Созданные мною объекты - "Артиллерия", существуют бесконечно долго. Скажем, в ходе битвы половина будет уничтожена, другая половина останется. Сработает некое условие. По моей задумке и сценарию, этим условием будет являться убиение шести вражеских зениток на любых ВПП противника. Как только это будет сделано, условие срабатывает и подмиссия, ответственная за загрузку зениток на ВПП, загружает в виде бонуса, для выигрывавшей стороны, новые зенитки на всех дружественных ВПП. Но прежде, чем загрузить новые зенитки, нужно убить все оставшиеся старые зенитки (которые еще не были подбиты или которые еще только догорают). Ну, чтобы не было каши. Чтобы одна зенитка не становилась на другую зенитку.
От Small_Bee есть замечательный пример чистки всего того, что есть в миссиях циклами "foreach".
Пример...
Сканируем все существующие армии в битве:
foreach (int army in GamePlay.gpArmies())
В тело этого основного цикла вкладываем цикл по перебору всех существующий групп в этих армиях:
foreach (AiAirGroup group in airGroups)
И уже в тело этого цикла вкладываем последний цикл по перебору всех акторов в группе:
foreach (AiActor actor in group.GetItems())
И все бы хорошо. Но у меня в миссии нет групп!!! У меня есть отдельно стоящие объекты типа "Артиллерия". Которые группами не являются. Вот я и не пойму, как мне циклом, или не циклом, перебрать все эти объекты и удалить их.

Сообщение от
-atas-
...Видимо проще загружать отдельную подмиссию только с этими объектами...
Разумеется так и делаю. Одна подмиссия грузит все Синие зенитки на всех ВПП Синих, другая грузит Красные...

Сообщение от
-atas-
...и удалять соответственно только объекты этой подмиссии.
Как это сделать???!!!