Allow to use scroll wheel to switch enum button mode
This commit is contained in:
parent
a50cad6832
commit
eb38466467
@ -9,6 +9,7 @@ import ru.dbotthepony.kommons.util.Delegate
|
|||||||
import ru.dbotthepony.kommons.util.value
|
import ru.dbotthepony.kommons.util.value
|
||||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
||||||
import ru.dbotthepony.mc.otm.client.minecraft
|
import ru.dbotthepony.mc.otm.client.minecraft
|
||||||
|
import ru.dbotthepony.mc.otm.client.playGuiClickSound
|
||||||
import ru.dbotthepony.mc.otm.client.render.IGUIRenderable
|
import ru.dbotthepony.mc.otm.client.render.IGUIRenderable
|
||||||
import ru.dbotthepony.mc.otm.client.render.UVWindingOrder
|
import ru.dbotthepony.mc.otm.client.render.UVWindingOrder
|
||||||
import ru.dbotthepony.mc.otm.client.screen.panels.EditablePanel
|
import ru.dbotthepony.mc.otm.client.screen.panels.EditablePanel
|
||||||
@ -109,6 +110,29 @@ open class EnumButtonPanel<out S : Screen, T : Enum<T>>(
|
|||||||
return super.mouseReleasedInner(x, y, button)
|
return super.mouseReleasedInner(x, y, button)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var lastScroll = System.nanoTime()
|
||||||
|
var handleScrolling = true
|
||||||
|
|
||||||
|
override fun mouseScrolledInner(x: Double, y: Double, scroll: Double): Boolean {
|
||||||
|
if (!handleScrolling)
|
||||||
|
return false
|
||||||
|
|
||||||
|
if (System.nanoTime() - lastScroll <= 200_000_000L)
|
||||||
|
return true
|
||||||
|
|
||||||
|
lastScroll = System.nanoTime()
|
||||||
|
|
||||||
|
if (scroll > 0.0) {
|
||||||
|
onClick(InputConstants.MOUSE_BUTTON_RIGHT)
|
||||||
|
playGuiClickSound()
|
||||||
|
} else if (scroll < 0.0) {
|
||||||
|
onClick(InputConstants.MOUSE_BUTTON_LEFT)
|
||||||
|
playGuiClickSound()
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
override fun test(value: Int): Boolean {
|
override fun test(value: Int): Boolean {
|
||||||
return value == InputConstants.MOUSE_BUTTON_LEFT ||
|
return value == InputConstants.MOUSE_BUTTON_LEFT ||
|
||||||
value == InputConstants.MOUSE_BUTTON_RIGHT ||
|
value == InputConstants.MOUSE_BUTTON_RIGHT ||
|
||||||
|
Loading…
Reference in New Issue
Block a user