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.
|
-- Add FSM transitions.
|
||||||
-- From State --> Event --> To State
|
-- From State --> Event --> To State
|
||||||
self:AddTransition("*", "AssignMissionAirforce", "*") -- Assign mission to a WINGCOMMANDER.
|
self:AddTransition("*", "AssignMissionAirforce", "*") -- Assign mission to a COMMANDER but request only AIR assets.
|
||||||
self:AddTransition("*", "AssignMissionNavy", "*") -- Assign mission to an ADMIRAL.
|
self:AddTransition("*", "AssignMissionNavy", "*") -- Assign mission to a COMMANDER but request only NAVAL assets.
|
||||||
self:AddTransition("*", "AssignMissionArmy", "*") -- Assign mission to a GENERAL.
|
self:AddTransition("*", "AssignMissionArmy", "*") -- Assign mission to a COMMANDER but request only GROUND assets.
|
||||||
|
|
||||||
self:AddTransition("*", "MissionCancel", "*") -- Cancel mission.
|
self:AddTransition("*", "MissionCancel", "*") -- Cancel mission.
|
||||||
|
|
||||||
@ -168,6 +168,12 @@ function CHIEF:New(AgentSet, Coalition)
|
|||||||
-- @param #CHIEF self
|
-- @param #CHIEF self
|
||||||
-- @param Ops.Auftrag#AUFTRAG Mission The mission.
|
-- @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.
|
--- On after "MissionCancel" event.
|
||||||
-- @function [parent=#CHIEF] OnAfterMissionCancel
|
-- @function [parent=#CHIEF] OnAfterMissionCancel
|
||||||
-- @param #CHIEF self
|
-- @param #CHIEF self
|
||||||
@ -586,10 +592,29 @@ end
|
|||||||
function CHIEF:onafterAssignMissionAirforce(From, Event, To, Mission)
|
function CHIEF:onafterAssignMissionAirforce(From, Event, To, Mission)
|
||||||
|
|
||||||
if self.commander then
|
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)
|
self.commander:AddMission(Mission)
|
||||||
else
|
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
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -681,7 +706,7 @@ end
|
|||||||
-- Target Functions
|
-- 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
|
-- @param #CHIEF self
|
||||||
function CHIEF:CheckTargetQueue()
|
function CHIEF:CheckTargetQueue()
|
||||||
|
|
||||||
@ -737,6 +762,9 @@ function CHIEF:CheckTargetQueue()
|
|||||||
|
|
||||||
-- Add mission to COMMANDER queue.
|
-- Add mission to COMMANDER queue.
|
||||||
self:AddMission(mission)
|
self:AddMission(mission)
|
||||||
|
|
||||||
|
-- Only ONE target is assigned per check.
|
||||||
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user