mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
Update Chief.lua
This commit is contained in:
parent
f0167b3e88
commit
fe6826016c
@ -118,9 +118,9 @@ function CHIEF:New(AgentSet, Coalition)
|
||||
|
||||
-- Add FSM transitions.
|
||||
-- From State --> Event --> To State
|
||||
self:AddTransition("*", "AssignMissionAirforce", "*") -- Assign mission to a WINGCOMMANDER.
|
||||
self:AddTransition("*", "AssignMissionNavy", "*") -- Assign mission to an ADMIRAL.
|
||||
self:AddTransition("*", "AssignMissionArmy", "*") -- Assign mission to a GENERAL.
|
||||
self:AddTransition("*", "AssignMissionAirforce", "*") -- Assign mission to a COMMANDER but request only AIR assets.
|
||||
self:AddTransition("*", "AssignMissionNavy", "*") -- Assign mission to a COMMANDER but request only NAVAL assets.
|
||||
self:AddTransition("*", "AssignMissionArmy", "*") -- Assign mission to a COMMANDER but request only GROUND assets.
|
||||
|
||||
self:AddTransition("*", "MissionCancel", "*") -- Cancel mission.
|
||||
|
||||
@ -168,6 +168,12 @@ function CHIEF:New(AgentSet, Coalition)
|
||||
-- @param #CHIEF self
|
||||
-- @param Ops.Auftrag#AUFTRAG Mission The mission.
|
||||
|
||||
--- Triggers the FSM event "MissionCancel" after a delay.
|
||||
-- @function [parent=#CHIEF] MissionCancel
|
||||
-- @param #CHIEF self
|
||||
-- @param #number delay Delay in seconds.
|
||||
-- @param Ops.Auftrag#AUFTRAG Mission The mission.
|
||||
|
||||
--- On after "MissionCancel" event.
|
||||
-- @function [parent=#CHIEF] OnAfterMissionCancel
|
||||
-- @param #CHIEF self
|
||||
@ -586,10 +592,29 @@ end
|
||||
function CHIEF:onafterAssignMissionAirforce(From, Event, To, Mission)
|
||||
|
||||
if self.commander then
|
||||
self:I(self.lid..string.format("Assigning mission %s (%s) to WINGCOMMANDER", Mission.name, Mission.type))
|
||||
self:I(self.lid..string.format("Assigning mission %s (%s) to COMMANDER", Mission.name, Mission.type))
|
||||
--TODO: Request only air assets.
|
||||
self.commander:AddMission(Mission)
|
||||
else
|
||||
self:E(self.lid..string.format("Mission cannot be assigned as no WINGCOMMANDER is defined."))
|
||||
self:E(self.lid..string.format("Mission cannot be assigned as no COMMANDER is defined!"))
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--- On after "AssignMissionAssignArmy" event.
|
||||
-- @param #CHIEF self
|
||||
-- @param #string From From state.
|
||||
-- @param #string Event Event.
|
||||
-- @param #string To To state.
|
||||
-- @param Ops.Auftrag#AUFTRAG Mission The mission.
|
||||
function CHIEF:onafterAssignMissionArmy(From, Event, To, Mission)
|
||||
|
||||
if self.commander then
|
||||
self:I(self.lid..string.format("Assigning mission %s (%s) to COMMANDER", Mission.name, Mission.type))
|
||||
--TODO: Request only ground assets.
|
||||
self.commander:AddMission(Mission)
|
||||
else
|
||||
self:E(self.lid..string.format("Mission cannot be assigned as no COMMANDER is defined!"))
|
||||
end
|
||||
|
||||
end
|
||||
@ -681,7 +706,7 @@ end
|
||||
-- Target Functions
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
--- Check mission queue and assign ONE planned mission.
|
||||
--- Check target queue and assign ONE valid target by adding it to the mission queue of the COMMANDER.
|
||||
-- @param #CHIEF self
|
||||
function CHIEF:CheckTargetQueue()
|
||||
|
||||
@ -737,6 +762,9 @@ function CHIEF:CheckTargetQueue()
|
||||
|
||||
-- Add mission to COMMANDER queue.
|
||||
self:AddMission(mission)
|
||||
|
||||
-- Only ONE target is assigned per check.
|
||||
return
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user