diff --git a/Moose Development/Moose/Tasking/Task.lua b/Moose Development/Moose/Tasking/Task.lua index 2d736ef48..b65a85df1 100644 --- a/Moose Development/Moose/Tasking/Task.lua +++ b/Moose Development/Moose/Tasking/Task.lua @@ -1020,10 +1020,15 @@ end --- Sets the Information on the Task -- @param #TASK self --- @param #string TaskInfo -function TASK:SetInfo( TaskInfo, TaskInfoText ) +-- @param #string TaskInfo The key and title of the task information. +-- @param #string TaskInfoText The Task info text. +-- @param #number TaskInfoOrder The ordering, a number between 0 and 99. +function TASK:SetInfo( TaskInfo, TaskInfoText, TaskInfoOrder ) - self.TaskInfo[TaskInfo] = TaskInfoText + self.TaskInfo = self.TaskInfo or {} + self.TaskInfo[TaskInfo] = self.TaskInfo[TaskInfo] or {} + self.TaskInfo[TaskInfo].TaskInfoText = TaskInfoText + self.TaskInfo[TaskInfo].TaskInfoOrder = TaskInfoOrder end --- Gets the Type of the Task @@ -1365,26 +1370,41 @@ function TASK:ReportOverview( ReportGroup ) --R2.1 fixed report. Now nicely form -- Determine the status of the Task. local Status = "<" .. self:GetState() .. ">" + + local Line = 0 + local LineReport = REPORT:New() - for TaskInfoID, TaskInfo in pairs( self.TaskInfo ) do + for TaskInfoID, TaskInfo in UTILS.spairs( self.TaskInfo, function( t, a, b ) return t[a].TaskInfoOrder < t[b].TaskInfoOrder end ) do + + self:F( { TaskInfo = TaskInfo } ) + + if Line < math.floor( TaskInfo.TaskInfoOrder / 10 ) then + Report:AddIndent( LineReport:Text( ", " ) ) + LineReport = REPORT:New() + Line = math.floor( TaskInfo.TaskInfoOrder / 10 ) + end local TaskInfoIDText = string.format( "%s: ", TaskInfoID ) - - if type(TaskInfo) == "string" then - Report:Add( TaskInfoIDText .. TaskInfo ) + + if type( TaskInfo.TaskInfoText ) == "string" then + LineReport:Add( TaskInfoIDText .. TaskInfo.TaskInfoText ) elseif type(TaskInfo) == "table" then if TaskInfoID == "Coordinates" then local FromCoordinate = ReportGroup:GetUnit(1):GetCoordinate() - local ToCoordinate = TaskInfo -- Core.Point#COORDINATE + local ToCoordinate = TaskInfo.TaskInfoText -- Core.Point#COORDINATE --Report:Add( TaskInfoIDText ) - Report:Add( ToCoordinate:ToString( ReportGroup ) ) + LineReport:Add( ToCoordinate:ToString( ReportGroup ) ) --Report:AddIndent( ToCoordinate:ToStringBULLS( ReportGroup:GetCoalition() ) ) else end end + + end + + Report:AddIndent( LineReport:Text( ", " ) ) - return Report:Text( ", ") + return Report:Text() end --- Create a count of the players in the Task. @@ -1457,16 +1477,16 @@ function TASK:ReportDetails( ReportGroup ) Report:Add( " - Players:" ) Report:AddIndent( Players ) - for TaskInfoID, TaskInfo in pairs( self.TaskInfo ) do + for TaskInfoID, TaskInfo in pairs( self.TaskInfo, function( t, a, b ) return t[a].TaskInfoOrder < t[b].TaskInfoOrder end ) do local TaskInfoIDText = string.format( " - %s: ", TaskInfoID ) - if type(TaskInfo) == "string" then - Report:Add( TaskInfoIDText .. TaskInfo ) + if type( TaskInfo.TaskInfoText ) == "string" then + Report:Add( TaskInfoIDText .. TaskInfo.TaskInfoText ) elseif type(TaskInfo) == "table" then if TaskInfoID == "Coordinates" then local FromCoordinate = ReportGroup:GetUnit(1):GetCoordinate() - local ToCoordinate = TaskInfo -- Core.Point#COORDINATE + local ToCoordinate = TaskInfo.TaskInfoText -- Core.Point#COORDINATE Report:Add( TaskInfoIDText ) Report:AddIndent( ToCoordinate:ToStringBRA( FromCoordinate ) .. ", " .. TaskInfo:ToStringAspect( FromCoordinate ) ) Report:AddIndent( ToCoordinate:ToStringBULLS( ReportGroup:GetCoalition() ) ) diff --git a/Moose Development/Moose/Tasking/Task_A2A.lua b/Moose Development/Moose/Tasking/Task_A2A.lua index 6edeb57d1..4d58b9432 100644 --- a/Moose Development/Moose/Tasking/Task_A2A.lua +++ b/Moose Development/Moose/Tasking/Task_A2A.lua @@ -329,12 +329,12 @@ do -- TASK_A2A_INTERCEPT ) local TargetCoordinate = TargetSetUnit:GetFirst():GetCoordinate() - self:SetInfo( "Coordinates", TargetCoordinate ) + self:SetInfo( "Coordinates", TargetCoordinate, 10 ) - self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]" ) + self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]", 11 ) local DetectedItemsCount = TargetSetUnit:Count() local DetectedItemsTypes = TargetSetUnit:GetTypeNames() - self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ) ) + self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ), 0 ) return self end @@ -452,12 +452,12 @@ do -- TASK_A2A_SWEEP ) local TargetCoordinate = TargetSetUnit:GetFirst():GetCoordinate() - self:SetInfo( "Coordinates", TargetCoordinate ) + self:SetInfo( "Coordinates", TargetCoordinate, 10 ) - self:SetInfo( "Assumed Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]" ) + self:SetInfo( "Assumed Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]", 11 ) local DetectedItemsCount = TargetSetUnit:Count() local DetectedItemsTypes = TargetSetUnit:GetTypeNames() - self:SetInfo( "Lost Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ) ) + self:SetInfo( "Lost Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ), 0 ) return self end @@ -571,12 +571,12 @@ do -- TASK_A2A_ENGAGE ) local TargetCoordinate = TargetSetUnit:GetFirst():GetCoordinate() - self:SetInfo( "Coordinates", TargetCoordinate ) + self:SetInfo( "Coordinates", TargetCoordinate, 10 ) - self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]" ) + self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]", 11 ) local DetectedItemsCount = TargetSetUnit:Count() local DetectedItemsTypes = TargetSetUnit:GetTypeNames() - self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ) ) + self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ), 0 ) return self end diff --git a/Moose Development/Moose/Tasking/Task_A2A_Dispatcher.lua b/Moose Development/Moose/Tasking/Task_A2A_Dispatcher.lua index 2f03cb5e3..018ba2910 100644 --- a/Moose Development/Moose/Tasking/Task_A2A_Dispatcher.lua +++ b/Moose Development/Moose/Tasking/Task_A2A_Dispatcher.lua @@ -565,9 +565,9 @@ do -- TASK_A2A_DISPATCHER if Task then local FriendliesCount, FriendliesReport = self:GetFriendliesNearBy( DetectedItem ) - Task:SetInfo( "Friendlies", string.format( "%d ( %s )", FriendliesCount, FriendliesReport:Text( "," ) ) ) + Task:SetInfo( "Friendlies", string.format( "%d ( %s )", FriendliesCount, FriendliesReport:Text( "," ) ), 30 ) local PlayersCount, PlayersReport = self:GetPlayerFriendliesNearBy( DetectedItem ) - Task:SetInfo( "Players", string.format( "%d ( %s )", PlayersCount, PlayersReport:Text( "," ) ) ) + Task:SetInfo( "Players", string.format( "%d ( %s )", PlayersCount, PlayersReport:Text( "," ) ), 31 ) end -- OK, so the tasking has been done, now delete the changes reported for the area. diff --git a/Moose Development/Moose/Tasking/Task_A2G.lua b/Moose Development/Moose/Tasking/Task_A2G.lua index aa56d3d42..ade6da690 100644 --- a/Moose Development/Moose/Tasking/Task_A2G.lua +++ b/Moose Development/Moose/Tasking/Task_A2G.lua @@ -320,12 +320,12 @@ do -- TASK_A2G_SEAD ) local TargetCoordinate = TargetSetUnit:GetFirst():GetCoordinate() - self:SetInfo( "Coordinates", TargetCoordinate ) + self:SetInfo( "Coordinates", TargetCoordinate, 10 ) - self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]" ) + self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]", 11 ) local DetectedItemsCount = TargetSetUnit:Count() local DetectedItemsTypes = TargetSetUnit:GetTypeNames() - self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ) ) + self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ), 0 ) return self end @@ -433,12 +433,12 @@ do -- TASK_A2G_BAI ) local TargetCoordinate = TargetSetUnit:GetFirst():GetCoordinate() - self:SetInfo( "Coordinates", TargetCoordinate ) + self:SetInfo( "Coordinates", TargetCoordinate, 10 ) - self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]" ) + self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]", 11 ) local DetectedItemsCount = TargetSetUnit:Count() local DetectedItemsTypes = TargetSetUnit:GetTypeNames() - self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ) ) + self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ), 0 ) return self end @@ -546,12 +546,12 @@ do -- TASK_A2G_CAS ) local TargetCoordinate = TargetSetUnit:GetFirst():GetCoordinate() - self:SetInfo( "Coordinates", TargetCoordinate ) + self:SetInfo( "Coordinates", TargetCoordinate, 10 ) - self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]" ) + self:SetInfo( "Threat", "[" .. string.rep( "■", TargetSetUnit:CalculateThreatLevelA2G() ) .. "]", 11 ) local DetectedItemsCount = TargetSetUnit:Count() local DetectedItemsTypes = TargetSetUnit:GetTypeNames() - self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ) ) + self:SetInfo( "Targets", string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ), 0 ) return self end diff --git a/Moose Mission Setup/Moose.lua b/Moose Mission Setup/Moose.lua index dbcc4bd87..ccb8f24d0 100644 --- a/Moose Mission Setup/Moose.lua +++ b/Moose Mission Setup/Moose.lua @@ -1,5 +1,5 @@ env.info( '*** MOOSE DYNAMIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20170701_1713' ) +env.info( 'Moose Generation Timestamp: 20170702_1214' ) local base = _G