迫击炮车行为树搭建完成
This commit is contained in:
@@ -1,40 +0,0 @@
|
||||
# File generated by Wizard 2.9.0 on Sep 19, 2025.
|
||||
advanced_behavior behavior_engage
|
||||
script_variables
|
||||
WsfWeapon missile;
|
||||
#WsfTaskManager taskManager=(WsfTaskManager)PROCESSOR;
|
||||
|
||||
end_script_variables
|
||||
|
||||
on_init
|
||||
missile = PLATFORM.Weapon("sam");
|
||||
writeln("on_init");
|
||||
end_on_init
|
||||
|
||||
on_message
|
||||
default
|
||||
script
|
||||
WsfControlMessage msg=(WsfControlMessage)MESSAGE;
|
||||
writeln("receive",msg.AuxDataString("task"));
|
||||
end_script
|
||||
end_on_message
|
||||
|
||||
precondition
|
||||
# writeln("precondition");
|
||||
return true;
|
||||
# return (taskManager.TasksReceivedFor(WsfTrackId(), "ENGAGE") > 0);
|
||||
end_precondition
|
||||
|
||||
execute
|
||||
# WsfTaskList engageTasks = taskManager.ReceivedTaskList(WsfTrackId(), "ENGAGE");
|
||||
# WsfTask myTask = engageTasks.Entry(0);
|
||||
# WsfTrackId trackId = myTask.TrackId();
|
||||
# WsfLocalTrackList trackList = PLATFORM.TrackList("data_mgr");
|
||||
# WsfTrack track = trackList.FindTrack(trackId);
|
||||
# WsfTrack targetTrack = WsfSimulation.FindTrack();
|
||||
# missile.Fire(track);
|
||||
# writeln("Successfully engaged target");
|
||||
return Success();
|
||||
end_execute
|
||||
|
||||
end_advanced_behavior
|
||||
52
behavior/behavior_fire.txt
Normal file
52
behavior/behavior_fire.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
# 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();
|
||||
end_script_variables
|
||||
|
||||
on_init
|
||||
missile = PLATFORM.Weapon("sam");
|
||||
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
|
||||
46
behavior/behavior_move.txt
Normal file
46
behavior/behavior_move.txt
Normal file
@@ -0,0 +1,46 @@
|
||||
# File generated by Wizard 2.9.0 on Sep 23, 2025.
|
||||
advanced_behavior behavior_move
|
||||
|
||||
script_variables
|
||||
WsfControlMessage msg=WsfControlMessage();
|
||||
string str="";
|
||||
WsfTrack track=WsfTrack();
|
||||
end_script_variables
|
||||
|
||||
on_init
|
||||
|
||||
end_on_init
|
||||
|
||||
on_message
|
||||
type WSF_CONTROL_MESSAGE
|
||||
script
|
||||
WsfControlMessage msg=(WsfControlMessage)MESSAGE;
|
||||
writeln("receive",msg.AuxDataString("task"));
|
||||
str=msg.AuxDataString("task");
|
||||
track=(WsfTrack)msg.AuxDataObject("track");
|
||||
writeln(str);
|
||||
end_script
|
||||
end_on_message
|
||||
|
||||
precondition
|
||||
if(str=="MOVE")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
end_precondition
|
||||
|
||||
execute
|
||||
if(!track.WithinZoneOf(PLATFORM,"battalion_sector"))
|
||||
{
|
||||
double relativeAzimuthOf=
|
||||
PLATFORM.RelativeAzimuthOf(track.CurrentLocation());
|
||||
PLATFORM.TurnToRelativeHeading(relativeAzimuthOf);
|
||||
PLATFORM.GoToSpeed(16);#m/s
|
||||
|
||||
}
|
||||
str="";
|
||||
return Success();
|
||||
end_execute
|
||||
|
||||
end_advanced_behavior
|
||||
36
behavior/behavior_wait.txt
Normal file
36
behavior/behavior_wait.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
# File generated by Wizard 2.9.0 on Sep 23, 2025.
|
||||
advanced_behavior behavior_wait
|
||||
|
||||
script_variables
|
||||
WsfWeapon missile;
|
||||
WsfControlMessage msg=WsfControlMessage();
|
||||
string str="";
|
||||
end_script_variables
|
||||
|
||||
on_init
|
||||
|
||||
end_on_init
|
||||
|
||||
on_message
|
||||
type WSF_CONTROL_MESSAGE
|
||||
script
|
||||
WsfControlMessage msg=(WsfControlMessage)MESSAGE;
|
||||
writeln("receive",msg.AuxDataString("task"));
|
||||
str=msg.AuxDataString("tsak");
|
||||
end_script
|
||||
end_on_message
|
||||
|
||||
precondition
|
||||
if(str=="WAIT")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
end_precondition
|
||||
|
||||
execute
|
||||
PLATFORM.GoToSpeed(0);#m/s
|
||||
return Success();
|
||||
end_execute
|
||||
|
||||
end_advanced_behavior
|
||||
Reference in New Issue
Block a user