mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
Preliminary
This commit is contained in:
parent
370278e643
commit
34592a53be
@ -226,6 +226,45 @@ function TASKINFO:AddWindAtCoordinate( Coordinate, Order, Detail, Keep )
|
||||
return self
|
||||
end
|
||||
|
||||
--- Add Cargo.
|
||||
-- @param #TASKINFO self
|
||||
-- @param Core.Cargo#CARGO Cargo
|
||||
-- @param #number Order The display order, which is a number from 0 to 100.
|
||||
-- @param #TASKINFO.Detail Detail The detail Level.
|
||||
-- @param #boolean Keep (optional) If true, this would indicate that the planned taskinfo would be persistent when the task is completed, so that the original planned task info is used at the completed reports.
|
||||
-- @return #TASKINFO self
|
||||
function TASKINFO:AddCargo( Cargo, Order, Detail, Keep )
|
||||
self:AddInfo( "Cargo", Cargo, Order, Detail, Keep )
|
||||
return self
|
||||
end
|
||||
|
||||
|
||||
--- Add Cargo set.
|
||||
-- @param #TASKINFO self
|
||||
-- @param Core.Set#SET_CARGO SetCargo
|
||||
-- @param #number Order The display order, which is a number from 0 to 100.
|
||||
-- @param #TASKINFO.Detail Detail The detail Level.
|
||||
-- @param #boolean Keep (optional) If true, this would indicate that the planned taskinfo would be persistent when the task is completed, so that the original planned task info is used at the completed reports.
|
||||
-- @return #TASKINFO self
|
||||
function TASKINFO:AddCargoSet( SetCargo, Order, Detail, Keep )
|
||||
|
||||
local CargoReport = REPORT:New()
|
||||
SetCargo:ForEachCargo(
|
||||
--- @param Core.Cargo#CARGO Cargo
|
||||
function( Cargo )
|
||||
local CargoType = Cargo:GetType()
|
||||
local CargoName = Cargo:GetName()
|
||||
local CargoCoordinate = Cargo:GetCoordinate()
|
||||
CargoReport:Add( string.format( '- "%s" (%s) at %s', CargoName, CargoType, CargoCoordinate:ToStringMGRS() ) )
|
||||
end
|
||||
)
|
||||
|
||||
self:AddInfo( "CargoSet", CargoReport:Text(), Order, Detail, Keep )
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
|
||||
|
||||
--- Create the taskinfo Report
|
||||
-- @param #TASKINFO self
|
||||
@ -280,6 +319,10 @@ function TASKINFO:Report( Report, Detail, ReportGroup )
|
||||
local Coordinate = Data.Data -- Core.Point#COORDINATE
|
||||
Text = Coordinate:ToStringWind( ReportGroup:GetUnit(1), nil, self )
|
||||
end
|
||||
if Key == "CargoSet" then
|
||||
local DataText = Data.Data -- #string
|
||||
Text = DataText
|
||||
end
|
||||
|
||||
if Line < math.floor( Data.Order / 10 ) then
|
||||
if Line == 0 then
|
||||
|
||||
@ -162,7 +162,7 @@ do -- TASK_CARGO
|
||||
self.SmokeColor = SMOKECOLOR.Red
|
||||
|
||||
self.CargoItemCount = {} -- Map of Carriers having a cargo item count to check the cargo loading limits.
|
||||
self.CargoLimit = 2
|
||||
self.CargoLimit = 6
|
||||
|
||||
self.DeployZones = {} -- setmetatable( {}, { __mode = "v" } ) -- weak table on value
|
||||
|
||||
@ -228,6 +228,7 @@ do -- TASK_CARGO
|
||||
|
||||
if Cargo:IsAlive() then
|
||||
|
||||
self:E( "Cargo is alive" )
|
||||
-- if Task:is( "RoutingToPickup" ) then
|
||||
-- MENU_GROUP_COMMAND:New(
|
||||
-- TaskUnit:GetGroup(),
|
||||
@ -239,10 +240,10 @@ do -- TASK_CARGO
|
||||
-- ):SetTime(MenuTime)
|
||||
-- end
|
||||
|
||||
|
||||
self:E( { CargoUnloaded = Cargo:IsUnLoaded(), CargoLoaded = Cargo:IsLoaded(), CargoItemCount = CargoItemCount } )
|
||||
|
||||
if Cargo:IsUnLoaded() then
|
||||
if CargoItemCount < Task.CargoLimit then
|
||||
if CargoItemCount <= Task.CargoLimit then
|
||||
if Cargo:IsInRadius( TaskUnit:GetPointVec2() ) then
|
||||
local NotInDeployZones = true
|
||||
for DeployZoneName, DeployZone in pairs( Task.DeployZones ) do
|
||||
@ -250,12 +251,14 @@ do -- TASK_CARGO
|
||||
NotInDeployZones = false
|
||||
end
|
||||
end
|
||||
self:E( { NotInDeployZones = NotInDeployZones } )
|
||||
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)
|
||||
end
|
||||
end
|
||||
else
|
||||
self:E( { "Route" } )
|
||||
MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), "Route to Pickup cargo " .. Cargo.Name, TaskUnit.Menu, self.MenuRouteToPickup, self, Cargo ):SetTime(MenuTime)
|
||||
end
|
||||
end
|
||||
@ -277,7 +280,7 @@ do -- TASK_CARGO
|
||||
end
|
||||
)
|
||||
|
||||
TaskUnit.Menu:Remove( MenuTime )
|
||||
--TaskUnit.Menu:Remove( MenuTime )
|
||||
|
||||
|
||||
self:__SelectAction( -15 )
|
||||
@ -800,6 +803,13 @@ do -- TASK_CARGO
|
||||
return self.GoalTotal
|
||||
end
|
||||
|
||||
function TASK_CARGO:UpdateTaskInfo()
|
||||
|
||||
if self:IsStatePlanned() or self:IsStateAssigned() then
|
||||
self.TaskInfo:AddTaskName( 0, "MSOD" )
|
||||
self.TaskInfo:AddCargoSet( self.SetCargo, 10, "SOD" )
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user