diff --git a/Moose Development/Moose/Core/Fsm.lua b/Moose Development/Moose/Core/Fsm.lua index 385f50a27..efd15901e 100644 --- a/Moose Development/Moose/Core/Fsm.lua +++ b/Moose Development/Moose/Core/Fsm.lua @@ -990,7 +990,6 @@ do -- FSM_PROCESS -- Copy Processes for ProcessID, Process in pairs( self:GetProcesses() ) do - self:E( { Process} ) if Process.fsm then Process.fsm:Remove() Process.fsm = nil diff --git a/Moose Development/Moose/Tasking/Task.lua b/Moose Development/Moose/Tasking/Task.lua index 96e57d343..2212498a3 100644 --- a/Moose Development/Moose/Tasking/Task.lua +++ b/Moose Development/Moose/Tasking/Task.lua @@ -530,8 +530,9 @@ do -- Group Assignment --- UnAssign the @{Task} from a @{Group}. -- @param #TASK self + -- @param Wrapper.Group#GROUP TaskGroup function TASK:UnAssignFromGroup( TaskGroup ) - self:F2( { TaskGroup } ) + self:F2( { TaskGroup = TaskGroup:GetName() } ) self:ClearGroupAssignment( TaskGroup ) @@ -539,7 +540,7 @@ do -- Group Assignment for UnitID, UnitData in pairs( TaskUnits ) do local TaskUnit = UnitData -- Wrapper.Unit#UNIT local PlayerName = TaskUnit:GetPlayerName() - if PlayerName ~= nil or PlayerName ~= "" then + if PlayerName ~= nil and PlayerName ~= "" then -- Only remove units that have players! self:UnAssignFromUnit( TaskUnit ) end end @@ -947,7 +948,7 @@ end -- @param Wrapper.Unit#UNIT TaskUnit -- @return #TASK self function TASK:RemoveStateMachine( TaskUnit ) - self:F( { TaskUnit, self.Fsm[TaskUnit] ~= nil } ) + self:F( { TaskUnit = TaskUnit:GetName(), HasFsm = ( self.Fsm[TaskUnit] ~= nil ) } ) --self:E( self.Fsm ) --for TaskUnitT, Fsm in pairs( self.Fsm ) do @@ -956,13 +957,16 @@ function TASK:RemoveStateMachine( TaskUnit ) --self.Fsm[TaskUnit] = nil --end - self.Fsm[TaskUnit]:Remove() - self.Fsm[TaskUnit] = nil + if self.Fsm[TaskUnit] then + self.Fsm[TaskUnit]:Remove() + self.Fsm[TaskUnit] = nil + end collectgarbage() self:E( "Garbage Collected, Processes should be finalized now ...") end + --- Checks if there is a FiniteStateMachine assigned to Task@{Unit} for @{Task} -- @param #TASK self -- @param Wrapper.Unit#UNIT TaskUnit