Files
lab1/behavior/behavior_fire.txt

61 lines
1.5 KiB
Plaintext
Raw Normal View History

2025-10-09 09:48:26 +08:00
# File generated by Wizard 2.9.0 on Sep 19, 2025.
advanced_behavior behavior_fire
script_variables
WsfWeapon missile;
WsfControlMessage msg=WsfControlMessage();
string str="";
WsfTrack track=WsfTrack();
2025-10-15 11:23:32 +08:00
string weapon_name="";
2025-10-09 09:48:26 +08:00
end_script_variables
on_init
2025-10-15 11:23:32 +08:00
if(!PLATFORM->weapon_name)
{
missile = PLATFORM.Weapon("sam");
}
else
{
weapon_name=PLATFORM->weapon_name;
missile = PLATFORM.Weapon(weapon_name);
}
2025-10-09 09:48:26 +08:00
writeln("on_init");
end_on_init
on_message
type WSF_CONTROL_MESSAGE
script
msg=(WsfControlMessage)MESSAGE;
writeln("receive",msg.AuxDataString("task"));
str=msg.AuxDataString("task");
track=(WsfTrack)msg.AuxDataObject("track");
writeln(str);
# if(msg.AuxDataString("task")=="FIRE")
# {
# writeln("in fire");
# WsfTrack track=(WsfTrack)msg.AuxDataObject("track");
# missile.Fire(track);
# writeln("fire,remain weapon:", missile.QuantityRemaining());
# }
end_script
end_on_message
precondition
writeln(str);
if( str=="FIRE")
{
writeln("in fire");
return true;
}
return false;
end_precondition
execute
missile.Fire(track);
writeln("fire,remain weapon:", missile.QuantityRemaining());
str="";
return Success();
end_execute
end_advanced_behavior