mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Implementation of unit maintenance in DATABASE and SETs for Cargo objects. Pls retest.
This commit is contained in:
parent
c1191e286a
commit
9647a1a84e
@ -531,7 +531,7 @@ do -- CARGO
|
|||||||
-- @param #CARGO self
|
-- @param #CARGO self
|
||||||
function CARGO:Destroy()
|
function CARGO:Destroy()
|
||||||
if self.CargoObject then
|
if self.CargoObject then
|
||||||
self.CargoObject:Destroy( false )
|
self.CargoObject:Destroy()
|
||||||
end
|
end
|
||||||
self:Destroyed()
|
self:Destroyed()
|
||||||
end
|
end
|
||||||
|
|||||||
@ -63,6 +63,7 @@ do -- CARGO_CRATE
|
|||||||
|
|
||||||
self:HandleEvent( EVENTS.Dead, self.OnEventCargoDead )
|
self:HandleEvent( EVENTS.Dead, self.OnEventCargoDead )
|
||||||
self:HandleEvent( EVENTS.Crash, self.OnEventCargoDead )
|
self:HandleEvent( EVENTS.Crash, self.OnEventCargoDead )
|
||||||
|
self:HandleEvent( EVENTS.RemoveUnit, self.OnEventCargoDead )
|
||||||
self:HandleEvent( EVENTS.PlayerLeaveUnit, self.OnEventCargoDead )
|
self:HandleEvent( EVENTS.PlayerLeaveUnit, self.OnEventCargoDead )
|
||||||
|
|
||||||
self:SetEventPriority( 4 )
|
self:SetEventPriority( 4 )
|
||||||
|
|||||||
@ -69,7 +69,7 @@ do -- CARGO_GROUP
|
|||||||
local WeightGroup = 0
|
local WeightGroup = 0
|
||||||
local VolumeGroup = 0
|
local VolumeGroup = 0
|
||||||
|
|
||||||
self.CargoGroup:Destroy( true ) -- generate the crash events, so that the database gets cleaned, and the linked sets get properly cleaned.
|
self.CargoGroup:Destroy() -- destroy and generate a unit removal event, so that the database gets cleaned, and the linked sets get properly cleaned.
|
||||||
|
|
||||||
local GroupName = CargoGroup:GetName()
|
local GroupName = CargoGroup:GetName()
|
||||||
self.CargoName = Name
|
self.CargoName = Name
|
||||||
@ -121,6 +121,7 @@ do -- CARGO_GROUP
|
|||||||
|
|
||||||
self:HandleEvent( EVENTS.Dead, self.OnEventCargoDead )
|
self:HandleEvent( EVENTS.Dead, self.OnEventCargoDead )
|
||||||
self:HandleEvent( EVENTS.Crash, self.OnEventCargoDead )
|
self:HandleEvent( EVENTS.Crash, self.OnEventCargoDead )
|
||||||
|
self:HandleEvent( EVENTS.RemoveUnit, self.OnEventCargoDead )
|
||||||
self:HandleEvent( EVENTS.PlayerLeaveUnit, self.OnEventCargoDead )
|
self:HandleEvent( EVENTS.PlayerLeaveUnit, self.OnEventCargoDead )
|
||||||
|
|
||||||
self:SetEventPriority( 4 )
|
self:SetEventPriority( 4 )
|
||||||
@ -137,7 +138,7 @@ do -- CARGO_GROUP
|
|||||||
|
|
||||||
for CargoID, CargoData in pairs( self.CargoSet:GetSet() ) do
|
for CargoID, CargoData in pairs( self.CargoSet:GetSet() ) do
|
||||||
local Cargo = CargoData -- Cargo.Cargo#CARGO
|
local Cargo = CargoData -- Cargo.Cargo#CARGO
|
||||||
Cargo:Destroy()
|
Cargo:Destroy() -- Destroy the cargo and generate a remove unit event to update the sets.
|
||||||
Cargo:SetStartState( "UnLoaded" )
|
Cargo:SetStartState( "UnLoaded" )
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -56,6 +56,7 @@ do -- CARGO_SLINGLOAD
|
|||||||
|
|
||||||
self:HandleEvent( EVENTS.Dead, self.OnEventCargoDead )
|
self:HandleEvent( EVENTS.Dead, self.OnEventCargoDead )
|
||||||
self:HandleEvent( EVENTS.Crash, self.OnEventCargoDead )
|
self:HandleEvent( EVENTS.Crash, self.OnEventCargoDead )
|
||||||
|
self:HandleEvent( EVENTS.RemoveUnit, self.OnEventCargoDead )
|
||||||
self:HandleEvent( EVENTS.PlayerLeaveUnit, self.OnEventCargoDead )
|
self:HandleEvent( EVENTS.PlayerLeaveUnit, self.OnEventCargoDead )
|
||||||
|
|
||||||
self:SetEventPriority( 4 )
|
self:SetEventPriority( 4 )
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user