diff --git a/Moose Development/Moose/AI/AI_Cargo.lua b/Moose Development/Moose/AI/AI_Cargo.lua index 9b0a8e6a1..9b743d555 100644 --- a/Moose Development/Moose/AI/AI_Cargo.lua +++ b/Moose Development/Moose/AI/AI_Cargo.lua @@ -166,6 +166,37 @@ function AI_CARGO:IsRelocating() end +--- On after Pickup event. +-- @param #AI_CARGO self +-- @param Wrapper.Group#GROUP APC +-- @param From +-- @param Event +-- @param To +-- @param Core.Point#COORDINATE Coordinate of the pickup point. +-- @param #number Speed Speed in km/h to drive to the pickup coordinate. Default is 50% of max possible speed the unit can go. +-- @param Core.Zone#ZONE PickupZone (optional) The zone where the cargo will be picked up. The PickupZone can be nil, if there wasn't any PickupZoneSet provided. +function AI_CARGO:onafterPickup( APC, From, Event, To, Coordinate, Speed, PickupZone ) + + self.Transporting = false + self.Relocating = true + +end + + +--- On after Deploy event. +-- @param #AI_CARGO self +-- @param Wrapper.Group#GROUP APC +-- @param From +-- @param Event +-- @param To +-- @param Core.Point#COORDINATE Coordinate Deploy place. +-- @param #number Speed Speed in km/h to drive to the depoly coordinate. Default is 50% of max possible speed the unit can go. +function AI_CARGO:onafterDeploy( APC, From, Event, To, Coordinate, Speed, DeployZone ) + + self.Relocating = false + self.Transporting = true + +end --- On before Load event. -- @param #AI_CARGO self @@ -322,6 +353,9 @@ function AI_CARGO:onafterPickedUp( Carrier, From, Event, To, PickupZone ) self:F( { Carrier, From, Event, To } ) Carrier:RouteResume() + + self.Relocating = false + self.Transporting = true end @@ -434,5 +468,7 @@ function AI_CARGO:onafterDeployed( Carrier, From, Event, To, DeployZone ) self:__Guard( 0.1 ) + self.Transporting = false + end diff --git a/Moose Development/Moose/AI/AI_Cargo_APC.lua b/Moose Development/Moose/AI/AI_Cargo_APC.lua index ce9aa85b0..f1e19b2d5 100644 --- a/Moose Development/Moose/AI/AI_Cargo_APC.lua +++ b/Moose Development/Moose/AI/AI_Cargo_APC.lua @@ -355,8 +355,6 @@ function AI_CARGO_APC._Pickup( APC, self, Coordinate, Speed, PickupZone ) if APC:IsAlive() then self:Load( PickupZone ) - self.Relocating = false - self.Transporting = true end end @@ -367,8 +365,6 @@ function AI_CARGO_APC._Deploy( APC, self, Coordinate, DeployZone ) if APC:IsAlive() then self:Unload( DeployZone ) - self.Transporting = false - self.Relocating = false end end @@ -405,8 +401,7 @@ function AI_CARGO_APC:onafterPickup( APC, From, Event, To, Coordinate, Speed, Pi AI_CARGO_APC._Pickup( APC, self, Coordinate, Speed, PickupZone ) end - self.Relocating = true - self.Transporting = false + self:GetParent( self, AI_CARGO_APC ).onafterPickup( self, APC, From, Event, To, Coordinate, Speed, PickupZone ) end end @@ -438,13 +433,14 @@ function AI_CARGO_APC:onafterDeploy( APC, From, Event, To, Coordinate, Speed, De APC:Route( Waypoints, 1 ) -- Move after a random seconds to the Route. See the Route method for details. - self.Relocating = false - self.Transporting = true + self:GetParent( self, AI_CARGO_APC ).onafterDeploy( self, APC, From, Event, To, Coordinate, Speed, DeployZone ) + end end + --- On after Home event. -- @param #AI_CARGO_APC self -- @param Wrapper.Group#GROUP APC