From 858670ab807ac6492dc2169e6bba3aec783e7f65 Mon Sep 17 00:00:00 2001 From: FlightControl Date: Wed, 26 Apr 2017 22:34:17 +0200 Subject: [PATCH] Improvements --- Moose Development/Moose/Core/Menu.lua | 9 +++++++-- Moose Development/Moose/Tasking/Task.lua | 9 +++++---- Moose Development/Moose/Tasking/Task_A2G.lua | 8 ++++++-- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Moose Development/Moose/Core/Menu.lua b/Moose Development/Moose/Core/Menu.lua index 8e361f41f..7a6049091 100644 --- a/Moose Development/Moose/Core/Menu.lua +++ b/Moose Development/Moose/Core/Menu.lua @@ -780,7 +780,9 @@ do self = MenuGroup._Menus[Path] else self = BASE:Inherit( self, MENU_BASE:New( MenuText, ParentMenu ) ) - MenuGroup._Menus[Path] = self + if MenuGroup:IsAlive() then + MenuGroup._Menus[Path] = self + end self.MenuGroup = MenuGroup self.Path = Path @@ -883,7 +885,10 @@ do self:T( { "Re-using Group Command Menu:", MenuGroup:GetName(), MenuText } ) else self = BASE:Inherit( self, MENU_COMMAND_BASE:New( MenuText, ParentMenu, CommandMenuFunction, arg ) ) - MenuGroup._Menus[Path] = self + + if MenuGroup:IsAlive() then + MenuGroup._Menus[Path] = self + end self.Path = Path self.MenuGroup = MenuGroup diff --git a/Moose Development/Moose/Tasking/Task.lua b/Moose Development/Moose/Tasking/Task.lua index dea1b7ee0..70d97867d 100644 --- a/Moose Development/Moose/Tasking/Task.lua +++ b/Moose Development/Moose/Tasking/Task.lua @@ -283,7 +283,6 @@ function TASK:AbortUnit( PlayerUnit ) if #PlayerGroup:GetUnits() == 1 then self:UnAssignFromGroup( PlayerGroup ) PlayerGroup:SetState( PlayerGroup, "Assigned", nil ) - self:RemoveMenuForGroup( PlayerGroup ) end self:Abort() self:PlayerAborted( PlayerUnit ) @@ -322,7 +321,6 @@ function TASK:CrashUnit( PlayerUnit ) self:E( { TaskGroup = PlayerGroup:GetName(), GetUnits = PlayerGroup:GetUnits() } ) if #PlayerGroup:GetUnits() == 1 then PlayerGroup:SetState( PlayerGroup, "Assigned", nil ) - self:RemoveMenuForGroup( PlayerGroup ) end self:PlayerCrashed( PlayerUnit ) end @@ -357,17 +355,18 @@ end -- @param Wrapper.Group#GROUP TaskGroup -- @return #TASK function TASK:AssignToGroup( TaskGroup ) - self:F2( TaskGroup:GetName() ) + self:F( TaskGroup:GetName() ) local TaskGroupName = TaskGroup:GetName() TaskGroup:SetState( TaskGroup, "Assigned", self ) + self:E("Task is assigned to " .. TaskGroup:GetName() ) + local Mission = self:GetMission() local MissionMenu = Mission:GetMenu( TaskGroup ) MissionMenu:RemoveSubMenus() - --self:RemoveMenuForGroup( TaskGroup ) self:SetAssignedMenuForGroup( TaskGroup ) local TaskUnits = TaskGroup:GetUnits() @@ -482,6 +481,8 @@ function TASK:UnAssignFromGroup( TaskGroup ) TaskGroup:SetState( TaskGroup, "Assigned", nil ) + self:E("Task is unassigned from " .. TaskGroup:GetName() ) + self:RemoveAssignedMenuForGroup( TaskGroup ) local TaskUnits = TaskGroup:GetUnits() diff --git a/Moose Development/Moose/Tasking/Task_A2G.lua b/Moose Development/Moose/Tasking/Task_A2G.lua index 6814847bd..17162ca7f 100644 --- a/Moose Development/Moose/Tasking/Task_A2G.lua +++ b/Moose Development/Moose/Tasking/Task_A2G.lua @@ -93,8 +93,6 @@ do -- TASK_A2G self.TargetSetUnit = TargetSetUnit self.TaskType = TaskType - Mission:AddTask( self ) - local Fsm = self:GetUnitProcess() @@ -374,6 +372,8 @@ do -- TASK_SEAD local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "SEAD" ) ) -- #TASK_SEAD self:F() + Mission:AddTask( self ) + return self end @@ -403,6 +403,8 @@ do -- TASK_BAI local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "BAI" ) ) -- #TASK_BAI self:F() + Mission:AddTask( self ) + return self end @@ -432,6 +434,8 @@ do -- TASK_CAS local self = BASE:Inherit( self, TASK_A2G:New( Mission, SetGroup, TaskName, TargetSetUnit, "CAS" ) ) -- #TASK_CAS self:F() + Mission:AddTask( self ) + return self end