Цитата:
Сообщение от naryv
здесь я
|
Ну тогда небольшой вопрос
1. Есть простой метод, который создает миссию из готовых строк(в списке
line):
Код:
public ISectionFile CreateNewStationaryByLine(List<string> line)
{
ISectionFile generatedMission = GamePlay.gpCreateSectionFile();
string section;
string key;
string value;
section = "Stationary";
foreach (string lineIndex in line) //захерачить в стринг сначала
{
key = lineIndex;
value = "";
generatedMission.add(section, key, value);
}
return generatedMission;
}
При сохранении миссии в файл получаются практически везде кавычки:
Код:
[Stationary]
"Static1 Artillery.37mm_PaK_35_36 de 312343.00 97434.00 195.00 /timeout 0/radius_hide 0"
"Static2 Artillery.37mm_PaK_35_36 de 312247.00 97487.00 195.00 /timeout 0/radius_hide 0"
В более сложных методах, где задается кол-во также появляется проблема. Например.
Создание простой колонны:
Код:
[Chiefs]
"0_Chief " Vehicle.Morris_CS8_tent gb /num_units 7
[0_Chief_Road]
"313876.50 91652.25 38.40 0 4 6.11"
"S 1703 4 0.68 10.00 P 313872.06 91711.37"
"S 1703 0 0.60 20.00 P 314695.78 94890.92"
"314714.81 94966.45 38.40"
Создание настраиваемой колонны:
Код:
[CustomChiefs]
Vehicle.custom_chief70 $core/icons/tank.mma
[Vehicle.custom_chief70]
Car.Morris_CS8_tent
Car.Bedford_MW_open
Car.Morris_CS8_tent
Car.Albion_AM463
[Chiefs]
"0_Chief" Vehicle.custom_chief70 gb
[0_Chief_Road]
"309239.16 97634.91 38.40 0 5 6.11"
"S 1773 63 0.20 20.00 P 309288.41 97664.51"
"S 1773 66 0.68 20.00 P 310180.47 98048.26"
"S 1773 78 0.40 10.00 P 313313.66 98745.98"
"313319.16 98746.18 38.40"
Причем последняя отказывается загружаться, хотя остальные загружаются и едут как положено.
2. С методом OnActorTaskCompleted так и не разобрался, не могу заставить срабатывать на наземку(да и на самолеты вроде не срабатывал). Можно поподробнее про него, выполнение чего его вызывает? Там что-то пролетает, но равное null и вызывающее ошибку если не добавить проверку
Код:
public override void OnActorTaskCompleted(int missionNumber, string shortName, maddox.game.world.AiActor actor)
{
base.OnActorTaskCompleted(missionNumber, shortName, actor);
if (actor != null)
{
if (actor is AiGroundActor)
{
AiGroundActor groundActor = actor as AiGroundActor;
if (groundActor != null)
{
SendMessage.ToAll("*** Actor Task Completed: mission - [{0}], shortName - [{1}], actor - [{2}]", "Chat", missionNumber, shortName, actor);
}
}
}
}
И еще парочку вспомнил.
3. Понадобилось определить время в миссии, то которое на часах в самолете. Пробовал разные варианты с Time, но не нашел подходящего. Есть такое вообще? Может показания часов самолета игрока можно снять?
4. Как в методе OnActorDead определить угол поворота наземного объекта, если это возможно? Есть ПТ пушки, которые могут доворачивать только стволом и нужно их возраждать не только в том же месте, но и с тем же направлением наводки.