Вопрос по респаунам BirthPlace появился.
Есть набор эскадрилий, у каждой на вооружении стоят определенные самолеты. Задача - изменение плейнсета на аэродроме в зависимости от находящихся на нем эскадрилий.
При загрузке миссии читается файл сохранения, откуда берется список эскадрилий и аэродромы на которых они базируются, далее в цикле каждая авиачасть добавляется на свой аэродром. При этом удаляется старый респаун с таким же именем и создается новый. Но тут я не учел время на загрузку подмиссии с респауном(а он создается как подмиссия). Получается что удаления не происходит, т.к. респаун еще не был загружен. В результате загружаются все подмиссии с респаунами и для каждой эскадрилии создается свой отдельный с таким же именем(кол-во респаунов равно кол-во добавленных эскадрилий, т.к. неактуальные не удаляются). При получении массива выглядит это примерно так:
Код:
[22:23:16] Server to [podvoxx]: [TEST]: BirthPlace [Dieppe_Saint_Aubin]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.SpitfireMkIIa]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.SpitfireMkI]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.SpitfireMkIa]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.SpitfireMkIa_100oct]
[22:23:16] Server to [podvoxx]: [TEST]: BirthPlace [Grandvilliers]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.HurricaneMkI_100oct]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.HurricaneMkI_dH5-20]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.HurricaneMkI]
[22:23:16] Server to [podvoxx]: [TEST]: BirthPlace [Deauville_Saint_Gatien]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.HurricaneMkI_100oct]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.HurricaneMkI_dH5-20]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.HurricaneMkI]
[22:23:16] Server to [podvoxx]: [TEST]: BirthPlace [Montdidier]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.BlenheimMkIV]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.DH82A]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.BR-20M]
[22:23:16] Server to [podvoxx]: [TEST]: BirthPlace [Dieppe_Saint_Aubin]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.SpitfireMkIIa]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.SpitfireMkI]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.SpitfireMkIa]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.SpitfireMkIa_100oct]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.BlenheimMkIV]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.DH82A]
[22:23:16] Server to [podvoxx]: [TEST]: at [Aircraft.BR-20M]
Создано два респауна Dieppe_Saint_Aubin с одинаковыми координатами, но активный тот, что создан первым(где доступны только спиты). Это не дает быстро менять доступные самолеты на аэродромах, нужно вводить какую-то задержку для загрузки подмиссии с респауном.
Вопрос такой. Возможно ли создание BirthPlace не используя подмиссию(чтобы сразу получить над ним контроль, не дожидаясь загрузки подмиссии)?
Возможно ли модифицировать уже созданный BirthPlace(поменять настройки, изменить список самолетов). Нашел пока только методы для чтения параметров BirthPlace.
Если нельзя ни первое ни второе хотелось бы, чтобы в будущем такая возможность была(подмиссии неудобны для динамичных респаунов). Также пригодилось бы событие на создание BirthPlace.
Ну и может какой-нибудь совет кто-то даст, как в таком случае решить проблему корректной замены респауна на новый с удалением старого(так как именно он выбирается при клике на карте).
Я пока придумал вариант с периодическим(например 5-10 сек) сканированием массива GamePlay.gpBirthPlaces() и при наличии в нем BirthPlace с одинаковыми именами удалять имеющие меньший индекс, но это будут постоянные проверки в OnTickGame()