mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2026-08-12 16:57:50 +00:00
Update Warehouse.lua
This commit is contained in:
@@ -3173,7 +3173,7 @@ function WAREHOUSE:FindNearestWarehouse(MinAssets, Descriptor, DescriptorValue,
|
|||||||
-- Get number of assets. Whole stock is returned if no descriptor/value is given.
|
-- Get number of assets. Whole stock is returned if no descriptor/value is given.
|
||||||
local nassets=warehouse:GetNumberOfAssets(Descriptor, DescriptorValue)
|
local nassets=warehouse:GetNumberOfAssets(Descriptor, DescriptorValue)
|
||||||
|
|
||||||
--env.info(string.format(" FF warehouse %s nassets = %d for %s=%s", warehouse.alias, nassets, tostring(Descriptor), tostring(DescriptorValue)))
|
--env.info(string.format("FF warehouse %s nassets = %d for %s=%s", warehouse.alias, nassets, tostring(Descriptor), tostring(DescriptorValue)))
|
||||||
|
|
||||||
-- Assume we have enough.
|
-- Assume we have enough.
|
||||||
local enough=true
|
local enough=true
|
||||||
@@ -3551,7 +3551,7 @@ function WAREHOUSE:_JobDone()
|
|||||||
|
|
||||||
-- Debug text.
|
-- Debug text.
|
||||||
local text=string.format("Group %s: speed=%d km/h, onground=%s , airbase=%s, spawnzone=%s ==> ishome=%s", group:GetName(), speed, tostring(onground), airbase, tostring(inspawnzone), tostring(ishome))
|
local text=string.format("Group %s: speed=%d km/h, onground=%s , airbase=%s, spawnzone=%s ==> ishome=%s", group:GetName(), speed, tostring(onground), airbase, tostring(inspawnzone), tostring(ishome))
|
||||||
self:T(self.lid..text)
|
self:I(self.lid..text)
|
||||||
|
|
||||||
if ishome then
|
if ishome then
|
||||||
|
|
||||||
@@ -3755,11 +3755,14 @@ function WAREHOUSE:onafterAddAsset(From, Event, To, group, ngroups, forceattribu
|
|||||||
if istransport==true then
|
if istransport==true then
|
||||||
request.ntransporthome=request.ntransporthome+1
|
request.ntransporthome=request.ntransporthome+1
|
||||||
request.transportgroupset:Remove(group:GetName(), true)
|
request.transportgroupset:Remove(group:GetName(), true)
|
||||||
self:T3(warehouse.lid..string.format("Transport %d of %s returned home.", request.ntransporthome, tostring(request.ntransport)))
|
local ntrans=request.transportgroupset:Count()
|
||||||
|
self:T2(warehouse.lid..string.format("Transport %d of %s returned home. TransportSet=%d", request.ntransporthome, tostring(request.ntransport), ntrans))
|
||||||
elseif istransport==false then
|
elseif istransport==false then
|
||||||
request.ndelivered=request.ndelivered+1
|
request.ndelivered=request.ndelivered+1
|
||||||
request.cargogroupset:Remove(self:_GetNameWithOut(group), true)
|
local namewo=self:_GetNameWithOut(group)
|
||||||
self:T3(warehouse.lid..string.format("Cargo %d of %s delivered.", request.ndelivered, tostring(request.nasset)))
|
request.cargogroupset:Remove(namewo, true)
|
||||||
|
local ncargo=request.cargogroupset:Count()
|
||||||
|
self:T2(warehouse.lid..string.format("Cargo %s: %d of %s delivered. CargoSet=%d", namewo, request.ndelivered, tostring(request.nasset), ncargo))
|
||||||
else
|
else
|
||||||
self:E(warehouse.lid..string.format("WARNING: Group %s is neither cargo nor transport! Need to investigate...", group:GetName()))
|
self:E(warehouse.lid..string.format("WARNING: Group %s is neither cargo nor transport! Need to investigate...", group:GetName()))
|
||||||
end
|
end
|
||||||
@@ -3796,7 +3799,6 @@ function WAREHOUSE:onafterAddAsset(From, Event, To, group, ngroups, forceattribu
|
|||||||
asset.wid=self.uid
|
asset.wid=self.uid
|
||||||
|
|
||||||
-- No request associated with this asset.
|
-- No request associated with this asset.
|
||||||
env.info(string.format("FF asset=%s: setting rid=nil", asset.spawngroupname))
|
|
||||||
asset.rid=nil
|
asset.rid=nil
|
||||||
|
|
||||||
-- Asset is not spawned.
|
-- Asset is not spawned.
|
||||||
@@ -4773,10 +4775,9 @@ function WAREHOUSE:onafterArrived(From, Event, To, group)
|
|||||||
if group:IsGround() and group:GetSpeedMax()>1 then
|
if group:IsGround() and group:GetSpeedMax()>1 then
|
||||||
group:RouteGroundTo(warehouse:GetCoordinate(), group:GetSpeedMax()*0.3, "Off Road")
|
group:RouteGroundTo(warehouse:GetCoordinate(), group:GetSpeedMax()*0.3, "Off Road")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Increase number of cargo delivered and transports home.
|
|
||||||
--local istransport=warehouse:_GroupIsTransport(group,request)
|
|
||||||
|
|
||||||
|
-- NOTE: This is done in the AddAsset() function. Dont know, why we do it also here.
|
||||||
|
--[[
|
||||||
if istransport==true then
|
if istransport==true then
|
||||||
request.ntransporthome=request.ntransporthome+1
|
request.ntransporthome=request.ntransporthome+1
|
||||||
request.transportgroupset:Remove(group:GetName(), true)
|
request.transportgroupset:Remove(group:GetName(), true)
|
||||||
@@ -4788,7 +4789,8 @@ function WAREHOUSE:onafterArrived(From, Event, To, group)
|
|||||||
else
|
else
|
||||||
self:E(warehouse.lid..string.format("ERROR: Group %s is neither cargo nor transport!", group:GetName()))
|
self:E(warehouse.lid..string.format("ERROR: Group %s is neither cargo nor transport!", group:GetName()))
|
||||||
end
|
end
|
||||||
|
]]
|
||||||
|
|
||||||
-- Move asset from pending queue into new warehouse.
|
-- Move asset from pending queue into new warehouse.
|
||||||
warehouse:__AddAsset(60, group)
|
warehouse:__AddAsset(60, group)
|
||||||
end
|
end
|
||||||
@@ -5134,22 +5136,23 @@ function WAREHOUSE:onafterAssetSpawned(From, Event, To, group, asset, request)
|
|||||||
for _,_asset in pairs(request.assets) do
|
for _,_asset in pairs(request.assets) do
|
||||||
local assetitem=_asset --#WAREHOUSE.Assetitem
|
local assetitem=_asset --#WAREHOUSE.Assetitem
|
||||||
|
|
||||||
self:I(string.format("FF Asset %s spawned %s as %s", assetitem.templatename, tostring(assetitem.spawned), tostring(assetitem.spawngroupname)))
|
-- Debug info.
|
||||||
|
self:T2(self.lid..string.format("Asset %s spawned %s as %s", assetitem.templatename, tostring(assetitem.spawned), tostring(assetitem.spawngroupname)))
|
||||||
|
|
||||||
if assetitem.spawned then
|
if assetitem.spawned then
|
||||||
n=n+1
|
n=n+1
|
||||||
else
|
else
|
||||||
self:E("FF What?! This should not happen!")
|
self:E(self.lid.."FF What?! This should not happen!")
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Trigger event.
|
-- Trigger event.
|
||||||
if n==request.nasset+request.ntransport then
|
if n==request.nasset+request.ntransport then
|
||||||
env.info(string.format("All assets %d (ncargo=%d + ntransport=%d) of request rid=%d spawned. Calling RequestSpawned", n, request.nasset, request.ntransport, request.uid))
|
self:T3(self.lid..string.format("All assets %d (ncargo=%d + ntransport=%d) of request rid=%d spawned. Calling RequestSpawned", n, request.nasset, request.ntransport, request.uid))
|
||||||
self:RequestSpawned(request, request.cargogroupset, request.transportgroupset)
|
self:RequestSpawned(request, request.cargogroupset, request.transportgroupset)
|
||||||
else
|
else
|
||||||
env.info(string.format("Not all assets %d (ncargo=%d + ntransport=%d) of request rid=%d spawned YET", n, request.nasset, request.ntransport, request.uid))
|
self:T3(self.lid..string.format("Not all assets %d (ncargo=%d + ntransport=%d) of request rid=%d spawned YET", n, request.nasset, request.ntransport, request.uid))
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@@ -5464,7 +5467,6 @@ function WAREHOUSE:_SpawnAssetRequest(Request)
|
|||||||
|
|
||||||
-- Set request ID.
|
-- Set request ID.
|
||||||
asset.rid=Request.uid
|
asset.rid=Request.uid
|
||||||
env.info(string.format("FF asset=%s: setting rid=%s", asset.spawngroupname, tostring(asset.rid)))
|
|
||||||
|
|
||||||
-- Spawn group name.
|
-- Spawn group name.
|
||||||
local _alias=asset.spawngroupname
|
local _alias=asset.spawngroupname
|
||||||
@@ -5757,12 +5759,11 @@ function WAREHOUSE:_SpawnAssetPrepareTemplate(asset, alias)
|
|||||||
-- Nillify the group ID.
|
-- Nillify the group ID.
|
||||||
template.groupId=nil
|
template.groupId=nil
|
||||||
|
|
||||||
|
|
||||||
-- No late activation.
|
-- No late activation.
|
||||||
template.lateActivation=false
|
template.lateActivation=false
|
||||||
|
|
||||||
if asset.missionTask then
|
if asset.missionTask then
|
||||||
env.info("FF setting mission task to "..tostring(asset.missionTask))
|
self:I(self.lid..string.format("Setting mission task to %s", tostring(asset.missionTask)))
|
||||||
template.task=asset.missionTask
|
template.task=asset.missionTask
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -7749,7 +7750,8 @@ function WAREHOUSE:_GetNameWithOut(group)
|
|||||||
local groupname=type(group)=="string" and group or group:GetName()
|
local groupname=type(group)=="string" and group or group:GetName()
|
||||||
|
|
||||||
if groupname:find("CARGO") then
|
if groupname:find("CARGO") then
|
||||||
return UTILS.Split(groupname, "#CARGO")[1]
|
local name=groupname:gsub("#CARGO", "")
|
||||||
|
return name
|
||||||
else
|
else
|
||||||
return groupname
|
return groupname
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user