UI: quickslot register; IngameController: quickslot selection using wheel

This closes github issue #14
This commit is contained in:
minjaesong
2019-01-13 03:02:57 +09:00
parent d9c7d3c681
commit 0be6678c34
3 changed files with 19 additions and 10 deletions

View File

@@ -72,7 +72,7 @@ class IngameController(val ingame: Ingame) : InputAdapter() {
if (ingame.canPlayerControl) {
ingame.actorNowPlaying?.keyDown(keycode)
// quickslot (quickbar)
// quickslot by number keys
val quickslotKeys = AppLoader.getConfigIntArray("keyquickslots")
if (keycode in quickslotKeys) {
ingame.actorNowPlaying?.actorValue?.set(AVKey.__PLAYER_QUICKSLOTSEL, quickslotKeys.indexOf(keycode))
@@ -145,6 +145,16 @@ class IngameController(val ingame: Ingame) : InputAdapter() {
}
override fun scrolled(amount: Int): Boolean {
if (ingame.canPlayerControl) {
// quickslot by wheel
if (ingame.actorNowPlaying != null) {
ingame.actorNowPlaying!!.actorValue.set(
AVKey.__PLAYER_QUICKSLOTSEL,
(ingame.actorNowPlaying!!.actorValue.getAsInt(AVKey.__PLAYER_QUICKSLOTSEL)!! - amount) % ingame.actorNowPlaying!!.inventory.quickSlot.size
)
}
}
ingame.uiContainer.forEach { it.scrolled(amount) }
return true
}