指挥所接收雷达并下发任务通信建立
This commit is contained in:
@@ -11,27 +11,43 @@
|
||||
# * ****** UNCLASSIFIED ****** *
|
||||
# * * ************************************** * *
|
||||
|
||||
include_once platforms/red_radar.txt
|
||||
#include_once platforms/red_radar.txt
|
||||
include_once sensors/radar/ew_radar.txt
|
||||
include_once processors/ep_operations.txt
|
||||
include_once platforms/red_radar_tactics.txt
|
||||
|
||||
platform_type EW_RADAR RED_RADAR
|
||||
platform_type EW_RADAR WSF_PLATFORM
|
||||
icon Ground_Radar
|
||||
category 2D_RADAR
|
||||
|
||||
infrared_signature VEHICLE_INFRARED_SIGNATURE
|
||||
optical_signature VEHICLE_OPTICAL_SIGNATURE
|
||||
radar_signature VEHICLE_RADAR_SIGNATURE
|
||||
|
||||
sensor ew_radar EW_RADAR
|
||||
on
|
||||
internal_link data_mgr
|
||||
ignore_same_side
|
||||
end_sensor
|
||||
|
||||
processor ep_operations EP_OPERATIONS
|
||||
script_variables
|
||||
mSensorNameList.PushBack("ew_radar");
|
||||
end_script_variables
|
||||
|
||||
processor data_mgr WSF_LINKED_PROCESSOR
|
||||
report_to commander via sub_net
|
||||
end_processor
|
||||
|
||||
aux_data
|
||||
double max_range = 185200 # meters = 100 nm
|
||||
end_aux_data
|
||||
comm sub_net RED_DATALINK
|
||||
network_name <local:slave>
|
||||
internal_link task_mgr
|
||||
end_comm
|
||||
|
||||
# processor task_mgr RED_RADAR_TACTICS
|
||||
# end_processor
|
||||
|
||||
# processor ep_operations EP_OPERATIONS
|
||||
# script_variables
|
||||
# mSensorNameList.PushBack("ew_radar");
|
||||
# end_script_variables
|
||||
# end_processor
|
||||
#
|
||||
# aux_data
|
||||
# double max_range = 185200 # meters = 100 nm
|
||||
# end_aux_data
|
||||
end_platform_type
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ include_once weapons/sam/large_sam.txt
|
||||
|
||||
platform_type LARGE_SAM_LAUNCHER WSF_PLATFORM
|
||||
icon SA-10_Launcher
|
||||
radar_signature VEHICLE_RADAR_SIGNATURE
|
||||
|
||||
comm cmdr_net RED_DATALINK
|
||||
network_name <local:slave>
|
||||
@@ -27,9 +28,44 @@ platform_type LARGE_SAM_LAUNCHER WSF_PLATFORM
|
||||
end_processor
|
||||
|
||||
processor task_mgr WSF_TASK_PROCESSOR
|
||||
script void on_task_assign(WsfTask aTask, WsfTrack aTrack)
|
||||
|
||||
if (aTask.TaskType() == "ENGAGE")
|
||||
{
|
||||
if (!aTrack.Exists())
|
||||
{
|
||||
writeln("[SAM] ");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!aTrack.WithinZoneOf(PLATFORM, "battalion_sector"))
|
||||
writeln("[SAM] 20nm ");
|
||||
return;
|
||||
end
|
||||
|
||||
--
|
||||
if (PLATFORM.Weapon("sam").QuantityRemaining() <= 0) then
|
||||
writeln("[SAM] ");
|
||||
return;
|
||||
end
|
||||
|
||||
--
|
||||
PLATFORM.Weapon("sam").FireAt(aTrack);
|
||||
writeln("[SAM] : ", aTrack.TargetName());
|
||||
else
|
||||
writeln("[SAM] ", aTask.Type());
|
||||
end
|
||||
end_script
|
||||
|
||||
|
||||
end_processor
|
||||
|
||||
weapon sam LARGE_SAM
|
||||
quantity 4
|
||||
end_weapon
|
||||
|
||||
zone battalion_sector
|
||||
circular maximum_radius 20 nm
|
||||
end_zone
|
||||
end_platform_type
|
||||
|
||||
45
platforms/radar_apache.txt
Normal file
45
platforms/radar_apache.txt
Normal file
@@ -0,0 +1,45 @@
|
||||
# File generated by Wizard 2.9.0 on Sep 17, 2025.
|
||||
include_once sensors/radar/ew_radar.txt
|
||||
include_once processors/ep_operations.txt
|
||||
include_once platforms/red_radar_tactics.txt
|
||||
|
||||
platform_type RADAR_APACHE WSF_PLATFORM
|
||||
icon apache
|
||||
category 2D_RADAR
|
||||
infrared_signature FIGHTER_INFRARED_SIG
|
||||
optical_signature FIGHTER_OPTICAL_SIG
|
||||
radar_signature FIGHTER_RADAR_SIG
|
||||
|
||||
mover WSF_AIR_MOVER
|
||||
default_radial_acceleration 2.0 g
|
||||
at_end_of_path remove
|
||||
end_mover
|
||||
|
||||
sensor ew_radar EW_RADAR
|
||||
on
|
||||
internal_link data_mgr
|
||||
ignore_same_side
|
||||
end_sensor
|
||||
|
||||
processor data_mgr WSF_LINKED_PROCESSOR
|
||||
report_to commander via sub_net
|
||||
end_processor
|
||||
|
||||
comm sub_net RED_DATALINK
|
||||
network_name <local:slave>
|
||||
#internal_link task_mgr
|
||||
end_comm
|
||||
|
||||
# processor task_mgr RED_RADAR_TACTICS
|
||||
# end_processor
|
||||
|
||||
# processor ep_operations EP_OPERATIONS
|
||||
# script_variables
|
||||
# mSensorNameList.PushBack("ew_radar");
|
||||
# end_script_variables
|
||||
# end_processor
|
||||
|
||||
# aux_data
|
||||
# double max_range = 185200 # meters = 100 nm
|
||||
# end_aux_data
|
||||
end_platform_type
|
||||
Reference in New Issue
Block a user