mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Heavy rework of the menus and now it is much better
This commit is contained in:
@@ -12,6 +12,7 @@ MISSION = {
|
||||
ClassName = "MISSION",
|
||||
Name = "",
|
||||
MissionStatus = "PENDING",
|
||||
AssignedGroups = {},
|
||||
}
|
||||
|
||||
--- This is the main MISSION declaration method. Each Mission is like the master or a Mission orchestration between, Clients, Tasks, Stages etc.
|
||||
@@ -366,7 +367,7 @@ end
|
||||
-- @param #MISSION self
|
||||
-- @param #number MenuTime
|
||||
function MISSION:SetMenu( MenuTime )
|
||||
self:F()
|
||||
self:F( { self:GetName(), MenuTime } )
|
||||
|
||||
for _, TaskData in pairs( self:GetTasks() ) do
|
||||
local Task = TaskData -- Tasking.Task#TASK
|
||||
@@ -378,7 +379,7 @@ end
|
||||
-- @param #MISSION self
|
||||
-- @param #number MenuTime
|
||||
function MISSION:RemoveMenu( MenuTime )
|
||||
self:F()
|
||||
self:F( { self:GetName(), MenuTime } )
|
||||
|
||||
for _, Task in pairs( self:GetTasks() ) do
|
||||
local Task = Task -- Tasking.Task#TASK
|
||||
@@ -387,6 +388,58 @@ function MISSION:RemoveMenu( MenuTime )
|
||||
end
|
||||
|
||||
|
||||
do -- Group Assignment
|
||||
|
||||
--- Returns if the @{Mission} is assigned to the Group.
|
||||
-- @param #MISSION self
|
||||
-- @param Wrapper.Group#GROUP MissionGroup
|
||||
-- @return #boolean
|
||||
function MISSION:IsGroupAssigned( MissionGroup )
|
||||
|
||||
local MissionGroupName = MissionGroup:GetName()
|
||||
|
||||
if self.AssignedGroups[MissionGroupName] == MissionGroup then
|
||||
self:T( { "Mission is assigned to:", MissionGroup:GetName() } )
|
||||
return true
|
||||
end
|
||||
|
||||
self:T( { "Mission is not assigned to:", MissionGroup:GetName() } )
|
||||
return false
|
||||
end
|
||||
|
||||
|
||||
--- Set @{Group} assigned to the @{Mission}.
|
||||
-- @param #MISSION self
|
||||
-- @param Wrapper.Group#GROUP MissionGroup
|
||||
-- @return #MISSION
|
||||
function MISSION:SetGroupAssigned( MissionGroup )
|
||||
|
||||
local MissionName = self:GetName()
|
||||
local MissionGroupName = MissionGroup:GetName()
|
||||
|
||||
self.AssignedGroups[MissionGroupName] = MissionGroup
|
||||
self:E( string.format( "Mission %s is assigned to %s", MissionName, MissionGroupName ) )
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
--- Clear the @{Group} assignment from the @{Mission}.
|
||||
-- @param #MISSION self
|
||||
-- @param Wrapper.Group#GROUP MissionGroup
|
||||
-- @return #MISSION
|
||||
function MISSION:ClearGroupAssignment( MissionGroup )
|
||||
|
||||
local MissionName = self:GetName()
|
||||
local MissionGroupName = MissionGroup:GetName()
|
||||
|
||||
self.AssignedGroups[MissionGroupName] = nil
|
||||
self:E( string.format( "Mission %s is unassigned to %s", MissionName, MissionGroupName ) )
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--- Gets the COMMANDCENTER.
|
||||
-- @param #MISSION self
|
||||
-- @return Tasking.CommandCenter#COMMANDCENTER
|
||||
@@ -642,7 +695,6 @@ end
|
||||
-- Tasks = Mission:GetTasks()
|
||||
-- env.info( "Task 2 Completion = " .. Tasks[2]:GetGoalPercentage() .. "%" )
|
||||
function MISSION:GetTasks()
|
||||
self:F()
|
||||
|
||||
return self.Tasks
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user