CARGO_GROUP working!!!

This commit is contained in:
FlightControl
2017-04-14 05:43:09 +02:00
parent 0b59fb87f2
commit ff64255ea7
6 changed files with 93 additions and 34 deletions

View File

@@ -117,6 +117,21 @@ function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName )
end
)
-- Handle when a player leaves a slot and goes back to spectators ...
-- The PlayerUnit will be UnAssigned from the Task.
-- When there is no Unit left running the Task, the Task goes into Abort...
self:HandleEvent( EVENTS.MissionEnd,
--- @param #TASK self
-- @param Core.Event#EVENTDATA EventData
function( self, EventData )
local PlayerUnit = EventData.IniUnit
for MissionID, Mission in pairs( self:GetMissions() ) do
local Mission = Mission -- Tasking.Mission#MISSION
Mission:Stop()
end
end
)
-- Handle when a player leaves a slot and goes back to spectators ...
-- The PlayerUnit will be UnAssigned from the Task.
-- When there is no Unit left running the Task, the Task goes into Abort...
@@ -127,7 +142,9 @@ function COMMANDCENTER:New( CommandCenterPositionable, CommandCenterName )
local PlayerUnit = EventData.IniUnit
for MissionID, Mission in pairs( self:GetMissions() ) do
local Mission = Mission -- Tasking.Mission#MISSION
Mission:AbortUnit( PlayerUnit )
if Mission:IsOngoing() then
Mission:AbortUnit( PlayerUnit )
end
end
end
)

View File

@@ -275,8 +275,9 @@ function TASK:AbortUnit( PlayerUnit )
local IsAssignedToGroup = self:IsAssignedToGroup( PlayerGroup )
self:E( { IsAssignedToGroup = IsAssignedToGroup } )
if IsAssignedToGroup then
local PlayerName = PlayerUnit:GetPlayerName()
self:UnAssignFromUnit( PlayerUnit )
self:MessageToGroups( PlayerUnit:GetPlayerName() .. " aborted Task " .. self:GetName() )
self:MessageToGroups( PlayerName .. " aborted Task " .. self:GetName() )
self:E( { TaskGroup = PlayerGroup:GetName(), GetUnits = PlayerGroup:GetUnits() } )
if #PlayerGroup:GetUnits() == 1 then
self:UnAssignFromGroup( PlayerGroup )

View File

@@ -347,7 +347,7 @@ do -- TASK_CARGO
self:__Land( -0.1 )
else
Task:GetMission():GetCommandCenter():MessageToGroup( "Boarding ...", TaskUnit:GetGroup(), "Boarding" )
self.Cargo:Board( TaskUnit, self )
self.Cargo:Board( TaskUnit, 20, self )
end
else
self:__ArriveAtCargo( -0.1 )
@@ -375,7 +375,7 @@ do -- TASK_CARGO
self:E( { TaskUnit = TaskUnit, Task = Task and Task:GetClassNameAndID() } )
self.DeployZone = DeployZone
self.Cargo:__UnBoard( -0.1, DeployZone )
self.Cargo:__UnBoard( -0.1, DeployZone, 20 )
end
---
@@ -394,7 +394,7 @@ do -- TASK_CARGO
end
Task:GetMission():GetCommandCenter():MessageToGroup( "UnBoarding ...", TaskUnit:GetGroup(), "UnBoarding" )
self.Cargo:__UnBoard( -0.1, self.DeployZone )
self.Cargo:__UnBoard( -0.1, self.DeployZone, 20 )
end