45 lines
1.4 KiB
Lua
45 lines
1.4 KiB
Lua
-- Smart Pickup — fanen Forsyning
|
|
-- Mål, varer (Auto/Vælg), behovsrække, ture og "kør hjem"-tærskel for et forsynings-run.
|
|
-- Funktionerne lægges på SmartPickupFrame (indlæses efter SmartPickupFrame.lua).
|
|
|
|
|
|
|
|
|
|
function SmartPickupFrame:describeTargetNeeds(target)
|
|
if #target.levels == 0 then
|
|
return string.format("%s: %s", target.name, self.i18n:getText("spu_needs_none"))
|
|
end
|
|
return string.format(self.i18n:getText("spu_needs"), target.name .. ": " .. self:formatLevels(target.levels))
|
|
end
|
|
|
|
function SmartPickupFrame:refreshNeedsRows(adEnv, run)
|
|
local byId = {}
|
|
for _, target in ipairs(ADRunsController.getTargetsLevels(adEnv, run)) do
|
|
byId[target.wayPointId] = target
|
|
end
|
|
for _, row in ipairs(self.needsRows or {}) do
|
|
if byId[row.wayPointId] ~= nil then
|
|
row.title:setText(self:describeTargetNeeds(byId[row.wayPointId]))
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
function SmartPickupFrame:onClickLoops(state)
|
|
self:safe(function(frame)
|
|
local run = frame:getRun()
|
|
if run == nil then return end
|
|
ADRunsController.updateRun(run.id, {loops = state - 1})
|
|
end)
|
|
end
|
|
|
|
function SmartPickupFrame:onClickReturnBelow(state)
|
|
self:safe(function(frame)
|
|
local run = frame:getRun()
|
|
if run == nil then return end
|
|
ADRunsController.updateRun(run.id, {returnBelowPercent = frame.returnBelowSteps[state] or ADRuns.DEFAULT_RETURN_BELOW_PERCENT})
|
|
end)
|
|
end
|