初次提交,只有想定基本结构
This commit is contained in:
80
processors/pathPatrol.txt
Normal file
80
processors/pathPatrol.txt
Normal file
@@ -0,0 +1,80 @@
|
||||
# File generated by Wizard 2.9.0 on Dec 16, 2024.
|
||||
|
||||
processor pathPatrol WSF_TASK_PROCESSOR
|
||||
script_variables
|
||||
double launchRange = 20.0 * MATH.M_PER_NM();
|
||||
double salvoSize = 2;
|
||||
string weaponName = "aa_mrm";
|
||||
WsfWeapon aa_mrm = PLATFORM.Weapon(weaponName);
|
||||
bool canPursue = false;
|
||||
end_script_variables
|
||||
|
||||
script bool pursueCondition()
|
||||
return (
|
||||
aa_mrm.QuantityRemaining() > 0 &&
|
||||
TRACK.Target().IsValid()
|
||||
);
|
||||
end_script
|
||||
|
||||
|
||||
script bool Pursue()
|
||||
if(pursueCondition())
|
||||
{
|
||||
PLATFORM.GoToLocation(TRACK.CurrentLocation());
|
||||
return canPursue;
|
||||
}
|
||||
return canPursue;
|
||||
end_script
|
||||
|
||||
script bool runAround()
|
||||
if(PLATFORM.Side() == "red")
|
||||
{
|
||||
PLATFORM.FollowRoute(PLATFORM.Name());
|
||||
}
|
||||
return (TRACK.Target().IsValid());
|
||||
end_script
|
||||
|
||||
on_initialize2
|
||||
PLATFORM.FollowRoute(PLATFORM.Name());
|
||||
end_on_initialize2
|
||||
//////////////////////////////////////////STATE MACHINE///////////////////////////////////////
|
||||
evaluation_interval DETECTED 1 sec
|
||||
state DETECTED
|
||||
next_state RUNAROUND
|
||||
return (!pursueCondition()
|
||||
|| PLATFORM.MasterTrackList().Count() <= 0
|
||||
);
|
||||
end_next_state
|
||||
|
||||
next_state PURSUE
|
||||
return (pursueCondition());
|
||||
end_next_state
|
||||
end_state
|
||||
|
||||
evaluation_interval PURSUE 1 sec
|
||||
state PURSUE
|
||||
next_state WAIT
|
||||
return Pursue();
|
||||
end_next_state
|
||||
end_state
|
||||
|
||||
evaluation_interval WAIT 1 sec
|
||||
state WAIT
|
||||
next_state DETECTED
|
||||
return pursueCondition();
|
||||
end_next_state
|
||||
|
||||
next_state RUNAROUND
|
||||
return (!pursueCondition()
|
||||
|| PLATFORM.MasterTrackList().Count() <= 0
|
||||
);
|
||||
end_next_state
|
||||
end_state
|
||||
|
||||
evaluation_interval RUNAROUND 1 sec
|
||||
state RUNAROUND
|
||||
next_state DETECTED
|
||||
return runAround();
|
||||
end_next_state
|
||||
end_state
|
||||
end_processor
|
||||
Reference in New Issue
Block a user