指挥所接收雷达并下发任务通信建立

This commit is contained in:
2025-09-17 17:53:39 +08:00
parent c177eeafeb
commit 826c030dc5
7 changed files with 222 additions and 120 deletions

View File

@@ -11,9 +11,6 @@
# * ****** UNCLASSIFIED ****** *
# * * ************************************** * *
processor IADS_CMDR_DATA_MGR WSF_TRACK_PROCESSOR
purge_interval 60 sec
end_processor
processor IADS_CMDR_TASK_MGR WSF_TASK_PROCESSOR
number_of_servers 5
@@ -32,9 +29,11 @@ processor IADS_CMDR_TASK_MGR WSF_TASK_PROCESSOR
// determine if TRACK is assignable
script bool IsAssignable()
#writeln(TRACK);
if ((! TRACK.IFF_Friend()) &&
(TRACK.TimeSinceUpdated() < 30.0))
{
#writeln("find enermy");
return true;
}
@@ -73,17 +72,21 @@ processor IADS_CMDR_TASK_MGR WSF_TASK_PROCESSOR
end_script
script void MakeAssignments()
#writeln("MakeAssignments ");
Array<WsfPlatform> filter = Array<WsfPlatform>();
foreach (WsfPlatform sub in PLATFORM.Subordinates())
{
if (sub.Type() == "LARGE_SAM_BATTALION")
#writeln("is Subordinates");
if (sub.Type() == "LARGE_SAM_LAUNCHER")
{
#writeln("is LARGE_SAM_LAUNCHER");
if (WeaponsAvailable(sub) &&
(TasksAssignedTo(sub) < MAX_ASSIGNMENTS_PER_SAM) &&
(TasksAssignedTo(sub, TRACK.TrackId()) < 1) &&
(TRACK.WithinZoneOf(sub, "battalion_sector")))
{
writeln_d("*** Adding ", sub.Name(), " to filter");
writeln("can fire");
writeln("*** Adding ", sub.Name(), " to filter");
filter.PushBack(sub);
}
}
@@ -93,6 +96,7 @@ processor IADS_CMDR_TASK_MGR WSF_TASK_PROCESSOR
int numAssignments = (int)MATH.Min(filter.Size(), MAX_SAMS_PER_TARGET);
for (int i=0; i < numAssignments; i = i + 1)
{
writeln("assign fire");
AssignTask(TRACK, "ENGAGE", filter[i]);
}
end_script
@@ -132,6 +136,10 @@ platform_type IADS_CMDR WSF_PLATFORM
infrared_signature VEHICLE_INFRARED_SIGNATURE
optical_signature VEHICLE_OPTICAL_SIGNATURE
radar_signature VEHICLE_RADAR_SIGNATURE
mover WSF_GROUND_MOVER
end_mover
comm sub_net RED_DATALINK
network_name <local:master>
@@ -139,12 +147,14 @@ platform_type IADS_CMDR WSF_PLATFORM
internal_link task_mgr
end_comm
processor data_mgr IADS_CMDR_DATA_MGR
processor data_mgr WSF_TRACK_PROCESSOR
purge_interval 60 sec
end_processor
processor task_mgr IADS_CMDR_TASK_MGR
operating_level ENGAGE 1
end_processor
include processors/commander_track_manager$(TRACKER_TYPE).txt