11月修改
This commit is contained in:
@@ -8,11 +8,13 @@ processor SSM_CMDR_TASK_MGR WSF_TASK_PROCESSOR
|
||||
#script_debug_writes true
|
||||
#show_state_transitions
|
||||
#show_task_messages
|
||||
|
||||
|
||||
|
||||
script_variables
|
||||
int MAX_SAMS_PER_TARGET = 2;
|
||||
int MAX_ASSIGNMENTS_PER_SAM = 4;
|
||||
string WEAPON_NAME = "";
|
||||
string IS_MOVE = "true";
|
||||
end_script_variables
|
||||
|
||||
// determine if TRACK is assignable
|
||||
@@ -47,11 +49,13 @@ processor SSM_CMDR_TASK_MGR WSF_TASK_PROCESSOR
|
||||
end_script
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
script void sendMessage()
|
||||
#writeln("MakeAssignments ");
|
||||
script void sendMessage()
|
||||
writeln("sendMessage");
|
||||
Array<WsfPlatform> firer = Array<WsfPlatform>();
|
||||
Array<WsfPlatform> mover = Array<WsfPlatform>();
|
||||
Array<WsfPlatform> waiter = Array<WsfPlatform>();
|
||||
Array<WsfPlatform> net_mover = Array<WsfPlatform>();
|
||||
|
||||
foreach (WsfPlatform sub in PLATFORM.Subordinates())
|
||||
{
|
||||
|
||||
@@ -70,13 +74,25 @@ processor SSM_CMDR_TASK_MGR WSF_TASK_PROCESSOR
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(sub.Type() == "NET_DETECT_GROUP")
|
||||
{
|
||||
writeln("is NET_DETECT_GROUP");
|
||||
if(IS_MOVE=="true")
|
||||
{
|
||||
IS_MOVE="false";
|
||||
writeln("*** Adding ", sub.Name(), " to net_mover");
|
||||
net_mover.PushBack(sub);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int i;
|
||||
int numAssignments = (int)MATH.Min(firer.Size(), MAX_SAMS_PER_TARGET);
|
||||
int num=(int)net_mover.Size();
|
||||
|
||||
for (int i=0; i < numAssignments; i = i + 1)
|
||||
{
|
||||
writeln("assign fire");
|
||||
@@ -86,34 +102,23 @@ processor SSM_CMDR_TASK_MGR WSF_TASK_PROCESSOR
|
||||
PLATFORM.Comm("sub_net").SendMessage(msg,firer[i].Name(),"cmdr_net");
|
||||
AssignTask(TRACK, "FIRE", firer[i]);
|
||||
}
|
||||
|
||||
|
||||
for(int i=0;i<num;i=i+1)
|
||||
{
|
||||
writeln("assign net_move");
|
||||
WsfControlMessage msg = WsfControlMessage();
|
||||
msg.SetAuxData("task","MOVE");
|
||||
PLATFORM.Comm("sub_net").SendMessage(msg,net_mover[i].Name(),"cmdr_net");
|
||||
}
|
||||
|
||||
end_script
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
evaluation_interval DETECTED 20.0 sec
|
||||
time_to_evaluate DETECTED 5.0 secs
|
||||
state DETECTED
|
||||
next_state ASSIGNED
|
||||
if (! IsAssignable()) return false;
|
||||
sendMessage();
|
||||
return true;
|
||||
end_next_state
|
||||
end_state
|
||||
|
||||
evaluation_interval ASSIGNED 20.0 sec
|
||||
time_to_evaluate ASSIGNED 1.0 secs
|
||||
state ASSIGNED
|
||||
next_state DETECTED
|
||||
if (! IsAssignable())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
sendMessage();
|
||||
return false;
|
||||
end_next_state
|
||||
end_state
|
||||
|
||||
update_interval 10 s
|
||||
on_update
|
||||
sendMessage();
|
||||
end_on_update
|
||||
end_processor
|
||||
|
||||
platform_type SSM_CMDR WSF_PLATFORM
|
||||
@@ -137,11 +142,9 @@ platform_type SSM_CMDR WSF_PLATFORM
|
||||
purge_interval 60 sec
|
||||
end_processor
|
||||
|
||||
processor task_mgr COMMON_CMDR_TASK_MGR
|
||||
operating_level ENGAGE 1
|
||||
processor task_mgr SSM_CMDR_TASK_MGR
|
||||
|
||||
end_processor
|
||||
|
||||
|
||||
|
||||
end_platform_type
|
||||
Reference in New Issue
Block a user