mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Merge branch 'develop' into FF/Develop
This commit is contained in:
@@ -159,6 +159,12 @@ do -- CARGO_CRATE
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Check if the cargo can be sling loaded.
|
||||||
|
-- @param #CARGO_CRATE self
|
||||||
|
function CARGO_CRATE:CanSlingload()
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
--- Check if Cargo Crate is in the radius for the Cargo to be reported.
|
--- Check if Cargo Crate is in the radius for the Cargo to be reported.
|
||||||
-- @param #CARGO_CRATE self
|
-- @param #CARGO_CRATE self
|
||||||
-- @param Core.Point#COORDINATE Coordinate
|
-- @param Core.Point#COORDINATE Coordinate
|
||||||
|
|||||||
@@ -355,7 +355,7 @@ do -- cargo
|
|||||||
return CargoFound
|
return CargoFound
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Checks if the Template name has a ~CARGO tag.
|
--- Checks if the Template name has a #CARGO tag.
|
||||||
-- If yes, the group is a cargo.
|
-- If yes, the group is a cargo.
|
||||||
-- @param #DATABASE self
|
-- @param #DATABASE self
|
||||||
-- @param #string TemplateName
|
-- @param #string TemplateName
|
||||||
@@ -364,7 +364,7 @@ do -- cargo
|
|||||||
|
|
||||||
TemplateName = env.getValueDictByKey( TemplateName )
|
TemplateName = env.getValueDictByKey( TemplateName )
|
||||||
|
|
||||||
local Cargo = TemplateName:match( "~(CARGO)" )
|
local Cargo = TemplateName:match( "#(CARGO)" )
|
||||||
|
|
||||||
return Cargo and Cargo == "CARGO"
|
return Cargo and Cargo == "CARGO"
|
||||||
end
|
end
|
||||||
@@ -379,10 +379,10 @@ do -- cargo
|
|||||||
for CargoGroupName, CargoGroup in pairs( Groups ) do
|
for CargoGroupName, CargoGroup in pairs( Groups ) do
|
||||||
self:I( { Cargo = CargoGroupName } )
|
self:I( { Cargo = CargoGroupName } )
|
||||||
if self:IsCargo( CargoGroupName ) then
|
if self:IsCargo( CargoGroupName ) then
|
||||||
local CargoInfo = CargoGroupName:match("~CARGO(.*)")
|
local CargoInfo = CargoGroupName:match("#CARGO(.*)")
|
||||||
local CargoParam = CargoInfo and CargoInfo:match( "%((.*)%)")
|
local CargoParam = CargoInfo and CargoInfo:match( "%((.*)%)")
|
||||||
local CargoName1 = CargoGroupName:match("(.*)~CARGO%(.*%)")
|
local CargoName1 = CargoGroupName:match("(.*)#CARGO%(.*%)")
|
||||||
local CargoName2 = CargoGroupName:match(".*~CARGO%(.*%)(.*)")
|
local CargoName2 = CargoGroupName:match(".*#CARGO%(.*%)(.*)")
|
||||||
local CargoName = CargoName1 .. ( CargoName2 or "" )
|
local CargoName = CargoName1 .. ( CargoName2 or "" )
|
||||||
local Type = CargoParam and CargoParam:match( "T=([%a%d ]+),?")
|
local Type = CargoParam and CargoParam:match( "T=([%a%d ]+),?")
|
||||||
local Name = CargoParam and CargoParam:match( "N=([%a%d]+),?") or CargoName
|
local Name = CargoParam and CargoParam:match( "N=([%a%d]+),?") or CargoName
|
||||||
@@ -396,9 +396,9 @@ do -- cargo
|
|||||||
|
|
||||||
for CargoStaticName, CargoStatic in pairs( self.STATICS ) do
|
for CargoStaticName, CargoStatic in pairs( self.STATICS ) do
|
||||||
if self:IsCargo( CargoStaticName ) then
|
if self:IsCargo( CargoStaticName ) then
|
||||||
local CargoInfo = CargoStaticName:match("~CARGO(.*)")
|
local CargoInfo = CargoStaticName:match("#CARGO(.*)")
|
||||||
local CargoParam = CargoInfo and CargoInfo:match( "%((.*)%)")
|
local CargoParam = CargoInfo and CargoInfo:match( "%((.*)%)")
|
||||||
local CargoName = CargoStaticName:match("(.*)~CARGO")
|
local CargoName = CargoStaticName:match("(.*)#CARGO")
|
||||||
local Type = CargoParam and CargoParam:match( "T=([%a%d ]+),?")
|
local Type = CargoParam and CargoParam:match( "T=([%a%d ]+),?")
|
||||||
local Category = CargoParam and CargoParam:match( "C=([%a%d ]+),?")
|
local Category = CargoParam and CargoParam:match( "C=([%a%d ]+),?")
|
||||||
local Name = CargoParam and CargoParam:match( "N=([%a%d]+),?") or CargoName
|
local Name = CargoParam and CargoParam:match( "N=([%a%d]+),?") or CargoName
|
||||||
|
|||||||
@@ -667,9 +667,12 @@ do -- TASK_CARGO
|
|||||||
Cargo:Report( "Load at " .. Cargo:GetCoordinate():ToString( TaskUnit:GetGroup() ) .. " within " .. Cargo.NearRadius .. ".", "reporting", TaskUnit:GetGroup() )
|
Cargo:Report( "Load at " .. Cargo:GetCoordinate():ToString( TaskUnit:GetGroup() ) .. " within " .. Cargo.NearRadius .. ".", "reporting", TaskUnit:GetGroup() )
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
--local Cargo = Cargo -- Cargo.CargoSlingload#CARGO_SLINGLOAD
|
||||||
if Cargo:CanSlingload() == true then
|
if Cargo:CanSlingload() == true then
|
||||||
if Cargo:IsInLoadRadius( TaskUnit:GetPointVec2() ) then
|
if Cargo:IsInLoadRadius( TaskUnit:GetPointVec2() ) then
|
||||||
Cargo:Report( "Ready for slingloading.", "slingload", TaskUnit:GetGroup() )
|
Cargo:Report( "Ready for sling loading.", "slingload", TaskUnit:GetGroup() )
|
||||||
|
local SlingloadMenu = MENU_GROUP:New( TaskGroup, "Slingload cargo", MenuControl ):SetTime( MenuTime ):SetTag( "Cargo" )
|
||||||
|
MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), Cargo.Name, SlingloadMenu, self.MenuLoadCargo, self, Cargo ):SetTime(MenuTime):SetTag("Cargo"):SetRemoveParent()
|
||||||
else
|
else
|
||||||
Cargo:Report( "Slingload at " .. Cargo:GetCoordinate():ToString( TaskUnit:GetGroup() ) .. ".", "reporting", TaskUnit:GetGroup() )
|
Cargo:Report( "Slingload at " .. Cargo:GetCoordinate():ToString( TaskUnit:GetGroup() ) .. ".", "reporting", TaskUnit:GetGroup() )
|
||||||
end
|
end
|
||||||
@@ -683,8 +686,29 @@ do -- TASK_CARGO
|
|||||||
else
|
else
|
||||||
if not Cargo:IsDeployed() == true then
|
if not Cargo:IsDeployed() == true then
|
||||||
local RouteToPickupMenu = MENU_GROUP:New( TaskGroup, "Route to pickup cargo", MenuControl ):SetTime( MenuTime ):SetTag( "Cargo" )
|
local RouteToPickupMenu = MENU_GROUP:New( TaskGroup, "Route to pickup cargo", MenuControl ):SetTime( MenuTime ):SetTag( "Cargo" )
|
||||||
MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), Cargo.Name, RouteToPickupMenu, self.MenuRouteToPickup, self, Cargo ):SetTime(MenuTime):SetTag("Cargo"):SetRemoveParent()
|
--MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), Cargo.Name, RouteToPickupMenu, self.MenuRouteToPickup, self, Cargo ):SetTime(MenuTime):SetTag("Cargo"):SetRemoveParent()
|
||||||
Cargo:ReportResetAll( TaskUnit:GetGroup() )
|
Cargo:ReportResetAll( TaskUnit:GetGroup() )
|
||||||
|
if Cargo:CanBoard() == true then
|
||||||
|
if not Cargo:IsInLoadRadius( TaskUnit:GetPointVec2() ) then
|
||||||
|
local BoardMenu = MENU_GROUP:New( TaskGroup, "Board cargo", RouteToPickupMenu ):SetTime( MenuTime ):SetTag( "Cargo" )
|
||||||
|
MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), Cargo.Name, BoardMenu, self.MenuRouteToPickup, self, Cargo ):SetTime(MenuTime):SetTag("Cargo"):SetRemoveParent()
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if Cargo:CanLoad() == true then
|
||||||
|
if not Cargo:IsInLoadRadius( TaskUnit:GetPointVec2() ) then
|
||||||
|
local LoadMenu = MENU_GROUP:New( TaskGroup, "Load cargo", RouteToPickupMenu ):SetTime( MenuTime ):SetTag( "Cargo" )
|
||||||
|
MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), Cargo.Name, LoadMenu, self.MenuRouteToPickup, self, Cargo ):SetTime(MenuTime):SetTag("Cargo"):SetRemoveParent()
|
||||||
|
end
|
||||||
|
else
|
||||||
|
--local Cargo = Cargo -- Cargo.CargoSlingload#CARGO_SLINGLOAD
|
||||||
|
if Cargo:CanSlingload() == true then
|
||||||
|
if not Cargo:IsInLoadRadius( TaskUnit:GetPointVec2() ) then
|
||||||
|
local SlingloadMenu = MENU_GROUP:New( TaskGroup, "Slingload cargo", RouteToPickupMenu ):SetTime( MenuTime ):SetTag( "Cargo" )
|
||||||
|
MENU_GROUP_COMMAND:New( TaskUnit:GetGroup(), Cargo.Name, SlingloadMenu, self.MenuRouteToPickup, self, Cargo ):SetTime(MenuTime):SetTag("Cargo"):SetRemoveParent()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1010,7 +1010,7 @@ do -- Cargo
|
|||||||
["TPZ"] = 10,
|
["TPZ"] = 10,
|
||||||
}
|
}
|
||||||
|
|
||||||
local CargoBayWeightLimit = ( Weights[Desc.typeName] or 0 ) * 90
|
local CargoBayWeightLimit = ( Weights[Desc.typeName] or 0 ) * 95
|
||||||
self.__.CargoBayWeightLimit = CargoBayWeightLimit
|
self.__.CargoBayWeightLimit = CargoBayWeightLimit
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user