diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt index c37c4c2ae..b530d50cf 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryCells.kt @@ -46,6 +46,11 @@ internal class UIInventoryCells( 107 + (AppLoader.screenH - full.internalHeight) / 2 ) + init { + uiItems.add(itemList) + uiItems.add(equipped) + } + fun rebuildList() { AppLoader.printdbg(this, "rebuilding list") diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt index 82b747d3b..6b227442f 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIInventoryFull.kt @@ -564,40 +564,5 @@ class UIInventoryFull( xEnd = (AppLoader.screenW + internalWidth).div(2).toFloat() yEnd = (AppLoader.screenH + internalHeight).div(2).toFloat() } - - - - override fun keyDown(keycode: Int): Boolean { - return super.keyDown(keycode) - } - - override fun keyTyped(character: Char): Boolean { - return super.keyTyped(character) - } - - override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean { - return super.touchDown(screenX, screenY, pointer, button) - } - - override fun keyUp(keycode: Int): Boolean { - return super.keyUp(keycode) - } - - override fun mouseMoved(screenX: Int, screenY: Int): Boolean { - return super.mouseMoved(screenX, screenY) - } - - override fun touchDragged(screenX: Int, screenY: Int, pointer: Int): Boolean { - return super.touchDragged(screenX, screenY, pointer) - } - - override fun touchUp(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean { - return super.touchUp(screenX, screenY, pointer, button) - } - - override fun scrolled(amount: Int): Boolean { - return super.scrolled(amount) - } - } diff --git a/src/net/torvald/terrarum/ui/UIItemTransitionContainer.kt b/src/net/torvald/terrarum/ui/UIItemTransitionContainer.kt index 40107a427..8d3fd03f1 100644 --- a/src/net/torvald/terrarum/ui/UIItemTransitionContainer.kt +++ b/src/net/torvald/terrarum/ui/UIItemTransitionContainer.kt @@ -27,6 +27,8 @@ open class UIItemTransitionContainer( private val epsilon = 0.001f + private fun timeToUpdate(index: Int) = true//(currentPosition > index - 1 + epsilon && currentPosition < index + 1 - epsilon) + fun requestTransition(target: Int) { if (!transitionOngoing) { transitionRequested = true @@ -37,12 +39,7 @@ open class UIItemTransitionContainer( override fun update(delta: Float) { super.update(delta) - - uis.forEachIndexed { index, ui -> - if (currentPosition > index - 1 + epsilon && currentPosition < index + 1 - epsilon) { - ui.update(delta) - } - } + uis.forEachIndexed { index, ui -> if (timeToUpdate(index)) ui.update(delta) } } open fun onTransition(currentPosition: Float, uis: Array) {} @@ -89,6 +86,41 @@ open class UIItemTransitionContainer( } } + override fun keyDown(keycode: Int): Boolean { + uis.forEachIndexed { index, ui -> if (timeToUpdate(index)) ui.keyDown(keycode) } + return true + } + + override fun keyUp(keycode: Int): Boolean { + uis.forEachIndexed { index, ui -> if (timeToUpdate(index)) ui.keyUp(keycode) } + return true + } + + override fun mouseMoved(screenX: Int, screenY: Int): Boolean { + uis.forEachIndexed { index, ui -> if (timeToUpdate(index)) ui.mouseMoved(screenX, screenY) } + return true + } + + override fun touchDragged(screenX: Int, screenY: Int, pointer: Int): Boolean { + uis.forEachIndexed { index, ui -> if (timeToUpdate(index)) ui.touchDragged(screenX, screenY, pointer) } + return true + } + + override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean { + uis.forEachIndexed { index, ui -> if (timeToUpdate(index)) ui.touchDown(screenX, screenY, pointer, button) } + return true + } + + override fun touchUp(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean { + uis.forEachIndexed { index, ui -> if (timeToUpdate(index)) ui.touchUp(screenX, screenY, pointer, button) } + return true + } + + override fun scrolled(amount: Int): Boolean { + uis.forEachIndexed { index, ui -> if (timeToUpdate(index)) ui.scrolled(amount) } + return true + } + override fun dispose() { uis.forEach { it.dispose() } }