feat: run-indstilling 'Kør hjem fra Wait under X %' (10–90, standard 50) i model, XML, Wait-regel og fane (v1.10.2.0)
This commit is contained in:
@@ -61,6 +61,23 @@ function SmartPickupFrame:initialize()
|
||||
table.insert(loopTexts, tostring(loops))
|
||||
end
|
||||
self.loopsOption:setTexts(loopTexts)
|
||||
self.returnBelowSteps = {}
|
||||
local percentTexts = {}
|
||||
for percent = ADRuns.MIN_RETURN_BELOW_PERCENT, ADRuns.MAX_RETURN_BELOW_PERCENT, 10 do
|
||||
table.insert(self.returnBelowSteps, percent)
|
||||
table.insert(percentTexts, string.format("%d %%", percent))
|
||||
end
|
||||
self.returnBelowOption:setTexts(percentTexts)
|
||||
end
|
||||
|
||||
function SmartPickupFrame:getReturnBelowIndex(run)
|
||||
local index = 1
|
||||
for position, percent in ipairs(self.returnBelowSteps or {}) do
|
||||
if percent <= (run.returnBelowPercent or ADRuns.DEFAULT_RETURN_BELOW_PERCENT) then
|
||||
index = position
|
||||
end
|
||||
end
|
||||
return index
|
||||
end
|
||||
|
||||
-- FocusManager har skiftet API mellem FS-versioner; her hentes det fokuserede element
|
||||
@@ -228,7 +245,7 @@ function SmartPickupFrame:rebuild()
|
||||
self:fillRunOption(adEnv)
|
||||
local run = self:getRun()
|
||||
local hasRun = run ~= nil and adEnv ~= nil
|
||||
for _, element in ipairs({self.targetOption, self.ingredientModeOption, self.waitPoolOption, self.loopsOption}) do
|
||||
for _, element in ipairs({self.targetOption, self.ingredientModeOption, self.waitPoolOption, self.loopsOption, self.returnBelowOption}) do
|
||||
element:setDisabled(not hasRun)
|
||||
end
|
||||
if hasRun then
|
||||
@@ -238,6 +255,7 @@ function SmartPickupFrame:rebuild()
|
||||
self.needsRow = self:addTextRow(self:describeNeeds(adEnv, run))
|
||||
self:fillWaitPoolOption(adEnv, run)
|
||||
self.loopsOption:setState(run.loops + 1, false)
|
||||
self.returnBelowOption:setState(self:getReturnBelowIndex(run), false)
|
||||
self:addTextRow(self.i18n:getText("spu_vehicles"))
|
||||
self:fillVehicleRows(adEnv, run)
|
||||
end
|
||||
@@ -398,6 +416,7 @@ function SmartPickupFrame:syncOptionsFromModel(adEnv, run)
|
||||
end
|
||||
sync(self.waitPoolOption, poolIndex)
|
||||
sync(self.loopsOption, run.loops + 1)
|
||||
sync(self.returnBelowOption, self:getReturnBelowIndex(run))
|
||||
end
|
||||
|
||||
-- "Silage 0/33.750 l · Straw 21.375/21.375 l" — mest trængende først.
|
||||
@@ -631,6 +650,14 @@ function SmartPickupFrame:onClickLoops(state)
|
||||
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
|
||||
|
||||
function SmartPickupFrame:onClickVehicle(state, element)
|
||||
self:safe(function(frame)
|
||||
local run, data = frame:getRun(), frame.rowData[element]
|
||||
|
||||
@@ -41,6 +41,12 @@
|
||||
</MultiTextOption>
|
||||
<Text profile="fs25_settingsMultiTextOptionTitle" text="$l10n_spu_loops"/>
|
||||
</Bitmap>
|
||||
<Bitmap profile="fs25_multiTextOptionContainer">
|
||||
<MultiTextOption profile="fs25_settingsMultiTextOption" onClick="onClickReturnBelow" id="returnBelowOption">
|
||||
<Text profile="fs25_multiTextOptionTooltip" name="ignore" text="$l10n_spu_returnBelow_tooltip"/>
|
||||
</MultiTextOption>
|
||||
<Text profile="fs25_settingsMultiTextOptionTitle" text="$l10n_spu_returnBelow"/>
|
||||
</Bitmap>
|
||||
</ScrollingLayout>
|
||||
|
||||
<!-- prefabs: klones pr. vare / traktor / tekstlinje og fjernes fra layoutet ved initialize -->
|
||||
|
||||
Reference in New Issue
Block a user