From 03c38356cec58cea37a0d80d9a4364f7285d5a56 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Mon, 5 Mar 2018 11:36:01 +0100 Subject: [PATCH 1/2] Fixed the issue that No commandcenter menu was generated in case of birth of a join of a player. --- Moose Development/Moose/Core/Set.lua | 2 +- Moose Development/Moose/Tasking/CommandCenter.lua | 8 +++++--- Moose Development/Moose/Tasking/Mission.lua | 2 +- Moose Development/Moose/Tasking/Task.lua | 2 +- Moose Development/Moose/Tasking/Task_A2G.lua | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Moose Development/Moose/Core/Set.lua b/Moose Development/Moose/Core/Set.lua index 89715e447..812f85a91 100644 --- a/Moose Development/Moose/Core/Set.lua +++ b/Moose Development/Moose/Core/Set.lua @@ -174,7 +174,7 @@ end -- @param Core.Base#BASE Object -- @return Core.Base#BASE The added BASE Object. function SET_BASE:Add( ObjectName, Object ) - self:F( ObjectName ) + self:F3( { ObjectName = ObjectName, Object = Object } ) -- Ensure that the existing element is removed from the Set before a new one is inserted to the Set if self.Set[ObjectName] then diff --git a/Moose Development/Moose/Tasking/CommandCenter.lua b/Moose Development/Moose/Tasking/CommandCenter.lua index 4343c26d0..17da2e26c 100644 --- a/Moose Development/Moose/Tasking/CommandCenter.lua +++ b/Moose Development/Moose/Tasking/CommandCenter.lua @@ -100,11 +100,14 @@ function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName ) function( self, EventData ) if EventData.IniObjectCategory == 1 then local EventGroup = GROUP:Find( EventData.IniDCSGroup ) + self:E( { CommandCenter = self:GetName(), EventGroup = EventGroup, HasGroup = self:HasGroup( EventGroup ), EventData = EventData } ) + self:E( { GROUPS = _DATABASE.GROUPS } ) if EventGroup and self:HasGroup( EventGroup ) then - local MenuReporting = MENU_GROUP:New( EventGroup, "Missions Reports", self.CommandCenterMenu ) + local CommandCenterMenu = MENU_GROUP:New( EventGroup, "Command Center (" .. self:GetName() .. ")" ) + local MenuReporting = MENU_GROUP:New( EventGroup, "Missions Reports", CommandCenterMenu ) local MenuMissionsSummary = MENU_GROUP_COMMAND:New( EventGroup, "Missions Status Report", MenuReporting, self.ReportMissionsStatus, self, EventGroup ) local MenuMissionsDetails = MENU_GROUP_COMMAND:New( EventGroup, "Missions Players Report", MenuReporting, self.ReportMissionsPlayers, self, EventGroup ) - self:ReportSummary( EventGroup ) + self:ReportMissionsStatus( EventGroup ) local PlayerUnit = EventData.IniUnit for MissionID, Mission in pairs( self:GetMissions() ) do local Mission = Mission -- Tasking.Mission#MISSION @@ -112,7 +115,6 @@ function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName ) Mission:JoinUnit( PlayerUnit, PlayerGroup ) end self:SetMenu() - _DATABASE:PlayerSettingsMenu( PlayerUnit ) end end diff --git a/Moose Development/Moose/Tasking/Mission.lua b/Moose Development/Moose/Tasking/Mission.lua index dacfeb8d3..14551e5fd 100644 --- a/Moose Development/Moose/Tasking/Mission.lua +++ b/Moose Development/Moose/Tasking/Mission.lua @@ -290,7 +290,7 @@ end -- @param Wrapper.Group#GROUP PlayerGroup The GROUP of the player joining the Mission. -- @return #boolean true if Unit is part of a Task in the Mission. function MISSION:JoinUnit( PlayerUnit, PlayerGroup ) - self:F( { PlayerUnit = PlayerUnit, PlayerGroup = PlayerGroup } ) + self:E( { Mission = self:GetName(), PlayerUnit = PlayerUnit, PlayerGroup = PlayerGroup } ) local PlayerUnitAdded = false diff --git a/Moose Development/Moose/Tasking/Task.lua b/Moose Development/Moose/Tasking/Task.lua index 021e17b77..89db87ff1 100644 --- a/Moose Development/Moose/Tasking/Task.lua +++ b/Moose Development/Moose/Tasking/Task.lua @@ -566,7 +566,7 @@ end function TASK:HasGroup( FindGroup ) local SetAttackGroup = self:GetGroups() - return SetAttackGroup:FindGroup(FindGroup) + return SetAttackGroup:FindGroup( FindGroup:GetName() ) end diff --git a/Moose Development/Moose/Tasking/Task_A2G.lua b/Moose Development/Moose/Tasking/Task_A2G.lua index f44d67d80..40957b0d6 100644 --- a/Moose Development/Moose/Tasking/Task_A2G.lua +++ b/Moose Development/Moose/Tasking/Task_A2G.lua @@ -344,7 +344,7 @@ do -- TASK_A2G local DetectedItemsCount = self.TargetSetUnit:Count() local DetectedItemsTypes = self.TargetSetUnit:GetTypeNames() self.TaskInfo:AddTargetCount( DetectedItemsCount, 11, "O", true ) - self.TaskInfo:AddTargets( string.format( "%d of %s", DetectedItemsCount, DetectedItemsTypes ), 20, "D", true ) + self.TaskInfo:AddTargets( DetectedItemsCount, DetectedItemsTypes, 20, "D", true ) end end From 0147c3a17cabb04476506954e2f065d652282dc5 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Mon, 5 Mar 2018 11:49:05 +0100 Subject: [PATCH 2/2] Revised the Command Center menu generation for MP and in SP when coming back from spectators or when changing the slot. --- Moose Development/Moose/Tasking/CommandCenter.lua | 10 ++++++---- Moose Development/Moose/Tasking/Mission.lua | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Moose Development/Moose/Tasking/CommandCenter.lua b/Moose Development/Moose/Tasking/CommandCenter.lua index 17da2e26c..92454df18 100644 --- a/Moose Development/Moose/Tasking/CommandCenter.lua +++ b/Moose Development/Moose/Tasking/CommandCenter.lua @@ -107,7 +107,7 @@ function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName ) local MenuReporting = MENU_GROUP:New( EventGroup, "Missions Reports", CommandCenterMenu ) local MenuMissionsSummary = MENU_GROUP_COMMAND:New( EventGroup, "Missions Status Report", MenuReporting, self.ReportMissionsStatus, self, EventGroup ) local MenuMissionsDetails = MENU_GROUP_COMMAND:New( EventGroup, "Missions Players Report", MenuReporting, self.ReportMissionsPlayers, self, EventGroup ) - self:ReportMissionsStatus( EventGroup ) + self:ReportSummary( EventGroup ) local PlayerUnit = EventData.IniUnit for MissionID, Mission in pairs( self:GetMissions() ) do local Mission = Mission -- Tasking.Mission#MISSION @@ -404,16 +404,18 @@ end --- Report the status of all MISSIONs to a GROUP. -- Each Mission is listed, with an indication how many Tasks are still to be completed. -- @param #COMMANDCENTER self -function COMMANDCENTER:ReportMissionsStatus( ReportGroup ) +function COMMANDCENTER:ReportSummary( ReportGroup ) self:E( ReportGroup ) local Report = REPORT:New() - Report:Add( "Status report of all missions." ) + -- List the name of the mission. + local Name = self:GetName() + Report:Add( string.format( '%s - Report Summary Missions', Name ) ) for MissionID, Mission in pairs( self.Missions ) do local Mission = Mission -- Tasking.Mission#MISSION - Report:Add( " - " .. Mission:ReportStatus() ) + Report:Add( " - " .. Mission:ReportSummary() ) end self:MessageToGroup( Report:Text(), ReportGroup ) diff --git a/Moose Development/Moose/Tasking/Mission.lua b/Moose Development/Moose/Tasking/Mission.lua index 14551e5fd..337c42a16 100644 --- a/Moose Development/Moose/Tasking/Mission.lua +++ b/Moose Development/Moose/Tasking/Mission.lua @@ -739,7 +739,7 @@ end -- -- @param #MISSION self -- @return #string -function MISSION:ReportStatus() +function MISSION:ReportSummary() local Report = REPORT:New()