feat(pulje): etape 2 — tømmevogne ved høst fra puljen: ledig traktor henter en puljevogn der kan bære afgrøden, følger høsteren til høsten er færdig, sætter vognen af og kører hjem (v1.49.0.0)
This commit is contained in:
@@ -90,9 +90,16 @@ function ADPool.nextDrive(refill)
|
||||
return "empty"
|
||||
end
|
||||
|
||||
-- Puljen bruges kun til hovedopgaver med ét sæt, og ikke når marken har egne faste maskiner til rollen.
|
||||
-- Puljen bruges til opgaver med ét sæt (også tømmevogne ved høst), ikke når marken har egne faste maskiner
|
||||
-- til rollen.
|
||||
function ADPool.mayUsePool(decision, hasOwnForRole)
|
||||
return not decision.helper and (decision.count or 1) == 1 and not hasOwnForRole
|
||||
return (decision.count or 1) == 1 and not hasOwnForRole
|
||||
end
|
||||
|
||||
-- Kan puljevognen bære varen? (implement.carries = {[fillType] = true}; nil vare = intet krav)
|
||||
function ADPool.canCarry(implement, fillType)
|
||||
if fillType == nil then return true end
|
||||
return implement.carries ~= nil and implement.carries[fillType] == true
|
||||
end
|
||||
|
||||
-- Status til flådefanen. s = {parkName, hasConnect, attachedTo, quarantineMin, reserved} -> nøgle, argument
|
||||
@@ -261,6 +268,17 @@ local function tractorHpOf(vehicle)
|
||||
return item ~= nil and item.specs ~= nil and ADPool.numberOf(item.specs.power) or nil
|
||||
end
|
||||
|
||||
-- Varer og samlet kapacitet i redskabets fyldenheder (tømmevogne).
|
||||
function ADPool.cargoOf(vehicle)
|
||||
local carries, capacity = {}, 0
|
||||
local units = vehicle.spec_fillUnit ~= nil and vehicle.spec_fillUnit.fillUnits or {}
|
||||
for index in ipairs(units) do
|
||||
capacity = capacity + (vehicle:getFillUnitCapacity(index) or 0)
|
||||
for fillType in pairs(vehicle:getFillUnitSupportedFillTypes(index) or {}) do carries[fillType] = true end
|
||||
end
|
||||
return carries, capacity
|
||||
end
|
||||
|
||||
local function isAttached(vehicle)
|
||||
return vehicle.getAttacherVehicle ~= nil and vehicle:getAttacherVehicle() ~= nil
|
||||
end
|
||||
@@ -290,7 +308,8 @@ function ADPool.collect(adEnv, isBusy)
|
||||
local role = specs ~= nil and ADPool.roleOf(specs) or nil
|
||||
if role ~= nil then
|
||||
local x, z = positionOf(vehicle)
|
||||
table.insert(implements, {
|
||||
local carries, capacity = ADPool.cargoOf(vehicle)
|
||||
table.insert(implements, {carries = carries, capacity = capacity,
|
||||
id = ADRunsController.getVehicleId(vehicle), vehicle = vehicle, name = ADRuns.vehicleLabel(vehicle),
|
||||
role = role, roles = specs.sprayRoles or ADFieldFleet.rolesFor(role), x = x, z = z, width = ADCpBridge.getWorkWidth(vehicle),
|
||||
neededHp = neededHpOf(vehicle), connectId = connect.id, parkId = park.id,
|
||||
|
||||
Reference in New Issue
Block a user