mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-13 20:14:05 +09:00
action listener on textbutton list
This commit is contained in:
@@ -110,6 +110,11 @@ abstract class UICanvas {
|
||||
//uiItems.forEach { it.keyT }
|
||||
}
|
||||
|
||||
open fun resize(width: Int, height: Int) {
|
||||
this.width = width
|
||||
this.height = height
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val OPENCLOSE_GENERIC = 0.2f
|
||||
|
||||
|
||||
@@ -114,8 +114,6 @@ abstract class UIItem(var parentUI: UICanvas) { // do not replace parentUI to UI
|
||||
return false
|
||||
}
|
||||
open fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
|
||||
println("trsaneirsatneioarsteniotrsaneioarstineoarstneio")
|
||||
|
||||
var actionDone = false
|
||||
|
||||
if (touchDownListener != null) {
|
||||
@@ -123,7 +121,9 @@ abstract class UIItem(var parentUI: UICanvas) { // do not replace parentUI to UI
|
||||
actionDone = true
|
||||
}
|
||||
|
||||
if (!clickOnceListenerFired && mouseUp) {
|
||||
if (clickOnceListener != null && !clickOnceListenerFired && mouseUp) {
|
||||
println("arstineotarsneio")
|
||||
|
||||
clickOnceListener!!.invoke(relativeMouseX, relativeMouseY, button)
|
||||
actionDone = true
|
||||
}
|
||||
|
||||
@@ -53,4 +53,32 @@ open class UIItemImageButton(
|
||||
override fun dispose() {
|
||||
image.texture.dispose()
|
||||
}
|
||||
|
||||
override fun keyDown(keycode: Int): Boolean {
|
||||
return super.keyDown(keycode)
|
||||
}
|
||||
|
||||
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 touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
|
||||
return super.touchDown(screenX, screenY, pointer, button)
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
}
|
||||
@@ -77,4 +77,32 @@ open class UIItemTextButton(
|
||||
|
||||
override fun dispose() {
|
||||
}
|
||||
|
||||
override fun keyDown(keycode: Int): Boolean {
|
||||
return super.keyDown(keycode)
|
||||
}
|
||||
|
||||
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 touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
|
||||
return super.touchDown(screenX, screenY, pointer, button)
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.badlogic.gdx.graphics.glutils.ShapeRenderer
|
||||
import net.torvald.terrarum.BlendMode
|
||||
import net.torvald.terrarum.fillRect
|
||||
import net.torvald.terrarum.gameactors.Second
|
||||
import net.torvald.terrarum.gameactors.ai.toInt
|
||||
import net.torvald.terrarum.gameactors.roundInt
|
||||
import net.torvald.terrarum.inUse
|
||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||
@@ -175,4 +176,32 @@ class UIItemTextButtonList(
|
||||
override fun dispose() {
|
||||
iconSpriteSheet?.dispose()
|
||||
}
|
||||
|
||||
override fun keyDown(keycode: Int): Boolean {
|
||||
return super.keyDown(keycode) || buttons.map { it.keyDown(keycode).toInt() }.sum() != 0
|
||||
}
|
||||
|
||||
override fun keyUp(keycode: Int): Boolean {
|
||||
return super.keyUp(keycode) || buttons.map { it.keyUp(keycode).toInt() }.sum() != 0
|
||||
}
|
||||
|
||||
override fun mouseMoved(screenX: Int, screenY: Int): Boolean {
|
||||
return super.mouseMoved(screenX, screenY) || buttons.map { it.mouseMoved(screenX, screenY).toInt() }.sum() != 0
|
||||
}
|
||||
|
||||
override fun touchDragged(screenX: Int, screenY: Int, pointer: Int): Boolean {
|
||||
return super.touchDragged(screenX, screenY, pointer) || buttons.map { it.touchDragged(screenX, screenY, pointer).toInt() }.sum() != 0
|
||||
}
|
||||
|
||||
override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
|
||||
return super.touchDown(screenX, screenY, pointer, button) || buttons.map { it.touchDown(screenX, screenY, pointer, button).toInt() }.sum() != 0
|
||||
}
|
||||
|
||||
override fun touchUp(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
|
||||
return super.touchUp(screenX, screenY, pointer, button) || buttons.map { it.touchUp(screenX, screenY, pointer, button).toInt() }.sum() != 0
|
||||
}
|
||||
|
||||
override fun scrolled(amount: Int): Boolean {
|
||||
return super.scrolled(amount) || buttons.map { it.scrolled(amount).toInt() }.sum() != 0
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@ class UIStartMenu : UICanvas() {
|
||||
"MENU_LABEL_EXIT"
|
||||
)
|
||||
|
||||
val menubarOffY = Terrarum.HEIGHT - 180 - 40 * menuLabels.size.plus(1)
|
||||
val menubarOffY: Int; get() = Terrarum.HEIGHT / 2 - (Terrarum.fontGame.lineHeight * 1.5).toInt()
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ class UIStartMenu : UICanvas() {
|
||||
|
||||
|
||||
// attach listeners
|
||||
menubar.buttons[3].clickOnceListener = { _, _, _ -> System.exit(0) }
|
||||
menubar.buttons[menuLabels.indexOf("MENU_LABEL_EXIT")].clickOnceListener = { _, _, _ -> System.exit(0) }
|
||||
}
|
||||
|
||||
override fun update(delta: Float) {
|
||||
|
||||
Reference in New Issue
Block a user