From 01c18278fc05062183e59cab3b77f17858063fc5 Mon Sep 17 00:00:00 2001 From: FlightControl_Master Date: Mon, 12 Mar 2018 14:21:20 +0100 Subject: [PATCH] Fixed for transport cargo --- Moose Development/Moose/Tasking/TaskInfo.lua | 2 +- .../Moose/Tasking/Task_CARGO.lua | 43 +++++++++++++------ 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/Moose Development/Moose/Tasking/TaskInfo.lua b/Moose Development/Moose/Tasking/TaskInfo.lua index 9605e023d..f3c98a6a2 100644 --- a/Moose Development/Moose/Tasking/TaskInfo.lua +++ b/Moose Development/Moose/Tasking/TaskInfo.lua @@ -255,7 +255,7 @@ function TASKINFO:AddCargoSet( SetCargo, Order, Detail, Keep ) local CargoType = Cargo:GetType() local CargoName = Cargo:GetName() local CargoCoordinate = Cargo:GetCoordinate() - CargoReport:Add( string.format( '- "%s" (%s) at %s', CargoName, CargoType, CargoCoordinate:ToStringMGRS() ) ) + CargoReport:Add( string.format( '"%s" (%s) at %s', CargoName, CargoType, CargoCoordinate:ToStringMGRS() ) ) end ) diff --git a/Moose Development/Moose/Tasking/Task_CARGO.lua b/Moose Development/Moose/Tasking/Task_CARGO.lua index e7cc3f939..4243a2a55 100644 --- a/Moose Development/Moose/Tasking/Task_CARGO.lua +++ b/Moose Development/Moose/Tasking/Task_CARGO.lua @@ -173,7 +173,7 @@ do -- TASK_CARGO Fsm:AddProcess ( "Planned", "Accept", ACT_ASSIGN_ACCEPT:New( self.TaskBriefing ), { Assigned = "SelectAction", Rejected = "Reject" } ) - Fsm:AddTransition( { "Assigned", "WaitingForCommand", "ArrivedAtPickup", "ArrivedAtDeploy", "Boarded", "UnBoarded", "Landed", "Boarding" }, "SelectAction", "*" ) + Fsm:AddTransition( { "Planned", "Assigned", "WaitingForCommand", "ArrivedAtPickup", "ArrivedAtDeploy", "Boarded", "UnBoarded", "Landed", "Boarding" }, "SelectAction", "*" ) Fsm:AddTransition( "*", "RouteToPickup", "RoutingToPickup" ) Fsm:AddProcess ( "RoutingToPickup", "RouteToPickupPoint", ACT_ROUTE_POINT:New(), { Arrived = "ArriveAtPickup", Cancelled = "CancelRouteToPickup" } ) @@ -196,6 +196,8 @@ do -- TASK_CARGO Fsm:AddTransition( "AwaitUnBoarding", "UnBoard", "UnBoarding" ) Fsm:AddTransition( "UnBoarding", "UnBoarded", "UnBoarded" ) + Fsm:AddTransition( "*", "Planned", "Planned" ) + Fsm:AddTransition( "Deployed", "Success", "Success" ) Fsm:AddTransition( "Rejected", "Reject", "Aborted" ) @@ -214,7 +216,7 @@ do -- TASK_CARGO local MenuTime = timer.getTime() - TaskUnit.Menu = MENU_GROUP:New( TaskUnit:GetGroup(), Task:GetName() .. " @ " .. TaskUnit:GetName() ):SetTime( MenuTime ) + TaskUnit.Menu = MENU_GROUP:New( TaskUnit:GetGroup(), Task:GetName() .. " @ " .. TaskUnit:GetName() ) local CargoItemCount = TaskUnit:CargoItemCount() @@ -253,10 +255,12 @@ do -- TASK_CARGO if NotInDeployZones then if not TaskUnit:InAir() then MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), "Board cargo " .. Cargo.Name, TaskUnit.Menu, self.MenuBoardCargo, self, Cargo ):SetTime(MenuTime) + TaskUnit.Menu:SetTime( MenuTime ) end end else MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), "Route to Pickup cargo " .. Cargo.Name, TaskUnit.Menu, self.MenuRouteToPickup, self, Cargo ):SetTime(MenuTime) + TaskUnit.Menu:SetTime( MenuTime ) end end end @@ -264,11 +268,13 @@ do -- TASK_CARGO if Cargo:IsLoaded() then if not TaskUnit:InAir() then MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), "Unboard cargo " .. Cargo.Name, TaskUnit.Menu, self.MenuUnBoardCargo, self, Cargo ):SetTime(MenuTime) + TaskUnit.Menu:SetTime( MenuTime ) end -- Deployzones are optional zones that can be selected to request routing information. for DeployZoneName, DeployZone in pairs( Task.DeployZones ) do if not Cargo:IsInZone( DeployZone ) then MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), "Route to Deploy cargo at " .. DeployZoneName, TaskUnit.Menu, self.MenuRouteToDeploy, self, DeployZone ):SetTime(MenuTime) + TaskUnit.Menu:SetTime( MenuTime ) end end end @@ -603,6 +609,7 @@ do -- TASK_CARGO end end + self:Planned() self:__SelectAction( 1 ) end @@ -802,13 +809,19 @@ do -- TASK_CARGO return self.GoalTotal end + --- @param #TASK_CARGO self function TASK_CARGO:UpdateTaskInfo() if self:IsStatePlanned() or self:IsStateAssigned() then self.TaskInfo:AddTaskName( 0, "MSOD" ) - self.TaskInfo:AddCargoSet( self.SetCargo, 10, "SOD" ) + self.TaskInfo:AddCargoSet( self.SetCargo, 10, "SOD", true ) end end + + function TASK_CARGO:ReportOrder( ReportGroup ) + + return 0 + end end @@ -937,7 +950,7 @@ do -- TASK_CARGO_TRANSPORT function TASK_CARGO_TRANSPORT:ReportOrder( ReportGroup ) - return true + return 0 end @@ -956,23 +969,27 @@ do -- TASK_CARGO_TRANSPORT -- Loop the CargoSet (so evaluate each Cargo in the SET_CARGO ). for CargoID, CargoData in pairs( Set ) do local Cargo = CargoData -- Core.Cargo#CARGO + + self:F( { Cargo = Cargo:GetName(), CargoDeployed = Cargo:IsDeployed() } ) if Cargo:IsDeployed() then - -- Loop the DeployZones set for the TASK_CARGO_TRANSPORT. - for DeployZoneID, DeployZone in pairs( DeployZones ) do - - -- If there is a Cargo not in one of DeployZones, then not all Cargo is deployed. - self:T( { Cargo.CargoObject } ) - if Cargo:IsInZone( DeployZone ) == false then - CargoDeployed = false - end - end +-- -- Loop the DeployZones set for the TASK_CARGO_TRANSPORT. +-- for DeployZoneID, DeployZone in pairs( DeployZones ) do +-- +-- -- If all cargo is in one of the deploy zones, then all is good. +-- self:T( { Cargo.CargoObject } ) +-- if Cargo:IsInZone( DeployZone ) == false then +-- CargoDeployed = false +-- end +-- end else CargoDeployed = false end end + self:F( { CargoDeployed = CargoDeployed } ) + return CargoDeployed end