mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-09 18:14:06 +09:00
q&d fix for spinner number rounds down to unintended value
This commit is contained in:
@@ -3,6 +3,7 @@ package net.torvald.terrarum.ui
|
|||||||
import com.badlogic.gdx.graphics.Camera
|
import com.badlogic.gdx.graphics.Camera
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import net.torvald.terrarum.App
|
import net.torvald.terrarum.App
|
||||||
|
import net.torvald.terrarum.App.printdbg
|
||||||
import net.torvald.terrarum.CommonResourcePool
|
import net.torvald.terrarum.CommonResourcePool
|
||||||
import net.torvald.terrarum.Terrarum
|
import net.torvald.terrarum.Terrarum
|
||||||
import net.torvald.terrarum.ceilInt
|
import net.torvald.terrarum.ceilInt
|
||||||
@@ -44,7 +45,10 @@ class UIItemSpinner(
|
|||||||
var selectionChangeListener: (Number) -> Unit = {}
|
var selectionChangeListener: (Number) -> Unit = {}
|
||||||
|
|
||||||
// to alleviate floating point errors adding up as the spinner is being used
|
// to alleviate floating point errors adding up as the spinner is being used
|
||||||
private val values = DoubleArray(1 + ((max.toDouble() - min.toDouble()).div(step.toDouble())).ceilInt()) { min.toDouble() + (step.toDouble() * it) }
|
private val values = DoubleArray(1 + ((max.toDouble() - min.toDouble()).div(step.toDouble())).ceilInt()) {
|
||||||
|
printdbg(this, "$min..$max step $step; index [$it] = ${min.toDouble() + (step.toDouble() * it)}")
|
||||||
|
min.toDouble() + (step.toDouble() * it)
|
||||||
|
}
|
||||||
private var currentIndex = values.indexOfFirst { it == initialValue.toDouble() }
|
private var currentIndex = values.indexOfFirst { it == initialValue.toDouble() }
|
||||||
|
|
||||||
init {
|
init {
|
||||||
@@ -92,7 +96,7 @@ class UIItemSpinner(
|
|||||||
if (fboUpdateLatch) {
|
if (fboUpdateLatch) {
|
||||||
// printdbg(this, "FBO Latched")
|
// printdbg(this, "FBO Latched")
|
||||||
fboUpdateLatch = false
|
fboUpdateLatch = false
|
||||||
textCache = numberToTextFunction(value)
|
textCache = numberToTextFunction(value.toDouble() + 0.0000000000000002)
|
||||||
textCacheLen = App.fontGame.getWidth(textCache)
|
textCacheLen = App.fontGame.getWidth(textCache)
|
||||||
/*fbo.inAction(camera as OrthographicCamera, batch) { batch.inUse {
|
/*fbo.inAction(camera as OrthographicCamera, batch) { batch.inUse {
|
||||||
gdxClearAndSetBlend(0f, 0f, 0f, 0f)
|
gdxClearAndSetBlend(0f, 0f, 0f, 0f)
|
||||||
|
|||||||
Reference in New Issue
Block a user