mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-14 07:36:06 +09:00
UI: quickslot register; IngameController: quickslot selection using wheel
This closes github issue #14
This commit is contained in:
@@ -10,7 +10,7 @@ import net.torvald.terrarum.itemproperties.GameItem
|
|||||||
import net.torvald.terrarum.modulebasegame.Ingame
|
import net.torvald.terrarum.modulebasegame.Ingame
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellBase
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellBase
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.UIItemTextButton
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* Note that the UI will not render if either item or itemImage is null.
|
* Note that the UI will not render if either item or itemImage is null.
|
||||||
@@ -136,7 +136,7 @@ class UIItemInventoryElem(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun keyDown(keycode: Int): Boolean {
|
override fun keyDown(keycode: Int): Boolean {
|
||||||
if (item != null && Terrarum.ingame != null && keycode in Input.Keys.NUM_1..Input.Keys.NUM_0) {
|
if (item != null && Terrarum.ingame != null && keycode in Input.Keys.NUM_0..Input.Keys.NUM_9) {
|
||||||
val player = (Terrarum.ingame!! as Ingame).actorNowPlaying
|
val player = (Terrarum.ingame!! as Ingame).actorNowPlaying
|
||||||
|
|
||||||
if (player == null) return false
|
if (player == null) return false
|
||||||
@@ -163,7 +163,7 @@ class UIItemInventoryElem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true
|
return super.keyDown(keycode)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
|
override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
|
||||||
@@ -189,7 +189,7 @@ class UIItemInventoryElem(
|
|||||||
|
|
||||||
inventoryUI.rebuildList()
|
inventoryUI.rebuildList()
|
||||||
|
|
||||||
return true
|
return super.touchDown(screenX, screenY, pointer, button)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import net.torvald.terrarum.itemproperties.GameItem
|
|||||||
import net.torvald.terrarum.modulebasegame.Ingame
|
import net.torvald.terrarum.modulebasegame.Ingame
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellBase
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellBase
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.UIItemTextButton
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by minjaesong on 2017-10-20.
|
* Created by minjaesong on 2017-10-20.
|
||||||
@@ -121,8 +121,7 @@ class UIItemInventoryElemSimple(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun keyDown(keycode: Int): Boolean {
|
override fun keyDown(keycode: Int): Boolean {
|
||||||
if (item != null && Terrarum.ingame != null && keycode in Input.Keys.NUM_1..Input.Keys.NUM_0) {
|
if (item != null && Terrarum.ingame != null && keycode in Input.Keys.NUM_0..Input.Keys.NUM_9) {
|
||||||
println("keydown elemgrid")
|
|
||||||
|
|
||||||
val player = (Terrarum.ingame!! as Ingame).actorNowPlaying
|
val player = (Terrarum.ingame!! as Ingame).actorNowPlaying
|
||||||
if (player == null) return false
|
if (player == null) return false
|
||||||
@@ -149,7 +148,7 @@ class UIItemInventoryElemSimple(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true
|
return super.keyDown(keycode)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
|
override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
|
||||||
@@ -172,7 +171,7 @@ class UIItemInventoryElemSimple(
|
|||||||
|
|
||||||
inventoryUI.rebuildList()
|
inventoryUI.rebuildList()
|
||||||
|
|
||||||
return true
|
return super.touchDown(screenX, screenY, pointer, button)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ class IngameController(val ingame: Ingame) : InputAdapter() {
|
|||||||
if (ingame.canPlayerControl) {
|
if (ingame.canPlayerControl) {
|
||||||
ingame.actorNowPlaying?.keyDown(keycode)
|
ingame.actorNowPlaying?.keyDown(keycode)
|
||||||
|
|
||||||
// quickslot (quickbar)
|
// quickslot by number keys
|
||||||
val quickslotKeys = AppLoader.getConfigIntArray("keyquickslots")
|
val quickslotKeys = AppLoader.getConfigIntArray("keyquickslots")
|
||||||
if (keycode in quickslotKeys) {
|
if (keycode in quickslotKeys) {
|
||||||
ingame.actorNowPlaying?.actorValue?.set(AVKey.__PLAYER_QUICKSLOTSEL, quickslotKeys.indexOf(keycode))
|
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 {
|
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) }
|
ingame.uiContainer.forEach { it.scrolled(amount) }
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user