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.mc.otm.client.render.MGUIGraphics
|
||||
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.UVWindingOrder
|
||||
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)
|
||||
}
|
||||
|
||||
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 {
|
||||
return value == InputConstants.MOUSE_BUTTON_LEFT ||
|
||||
value == InputConstants.MOUSE_BUTTON_RIGHT ||
|
||||
|
Loading…
Reference in New Issue
Block a user