From 1dd156d1721c3748af984d75cbd7c5728e4311bb Mon Sep 17 00:00:00 2001 From: Song Minjae Date: Wed, 14 Dec 2016 00:28:42 +0900 Subject: [PATCH] still WIP inventory impl, held item impl Former-commit-id: 9468cfae21ff09c3dd30352a849910364e01d780 Former-commit-id: 50247ccebf3284f739877a1d6c6d8574449a9824 --- src/net/torvald/serialise/WriteCSV.kt | 12 ++-- src/net/torvald/serialise/WriteMeta.kt | 22 +++--- src/net/torvald/terrarum/StateInGame.kt | 4 +- src/net/torvald/terrarum/StateMonitorCheck.kt | 2 +- .../terrarum/gameactors/ActorHumanoid.kt | 29 +++++++- .../terrarum/gameactors/Controllable.kt | 3 +- .../terrarum/gameactors/DroppedItem.kt | 2 +- .../gameactors/PlayableActorDelegate.kt | 5 +- .../torvald/terrarum/gameactors/Pocketed.kt | 5 ++ .../terrarum/gamecontroller/GameController.kt | 67 ++++++++++++++----- .../torvald/terrarum/gameitem/DynamicItem.kt | 7 -- .../torvald/terrarum/gameitem/TileAsItem.kt | 54 --------------- .../terrarum/itemproperties/ItemPropCodex.kt | 10 ++- .../terrarum/ui/BasicDebugInfoWindow.kt | 2 +- src/net/torvald/terrarum/ui/ConsoleWindow.kt | 2 +- src/net/torvald/terrarum/ui/MessageWindow.kt | 2 +- src/net/torvald/terrarum/ui/Notification.kt | 2 +- src/net/torvald/terrarum/ui/UICanvas.kt | 2 +- src/net/torvald/terrarum/ui/UIHandler.kt | 4 +- src/net/torvald/terrarum/ui/UIPieMenu.kt | 2 +- src/net/torvald/terrarum/ui/UIQuickBar.kt | 2 +- .../worldobject/ui/UITextTerminal.kt | 2 +- 22 files changed, 126 insertions(+), 116 deletions(-) delete mode 100644 src/net/torvald/terrarum/gameitem/TileAsItem.kt diff --git a/src/net/torvald/serialise/WriteCSV.kt b/src/net/torvald/serialise/WriteCSV.kt index 733b49fc9..248a7fafc 100644 --- a/src/net/torvald/serialise/WriteCSV.kt +++ b/src/net/torvald/serialise/WriteCSV.kt @@ -20,9 +20,9 @@ object WriteCSV { val META_FILENAME_MAT = "worldinfo4" fun write(saveDirectoryName: String): Boolean { - val tileCSV = CSVFetcher.readCSVasString(TilePropCodex.CSV_PATH) - val itemCSV = CSVFetcher.readCSVasString(ItemPropCodex.CSV_PATH) - val matCSV = CSVFetcher.readCSVasString(MaterialPropCodex.CSV_PATH) + //val tileCSV = CSVFetcher.readCSVasString(TilePropCodex.CSV_PATH) + //val itemCSV = CSVFetcher.readCSVasString(ItemPropCodex.CSV_PATH) + //val matCSV = CSVFetcher.readCSVasString(MaterialPropCodex.CSV_PATH) val pathTile = Paths.get("${Terrarum.defaultSaveDir}" + "/$saveDirectoryName/${META_FILENAME_TILE}") @@ -37,9 +37,9 @@ object WriteCSV { // TODO gzip // write CSV to path - Files.write(tempPathTile, tileCSV.toByteArray(Charsets.UTF_8)) - Files.write(tempPathItem, itemCSV.toByteArray(Charsets.UTF_8)) - Files.write(tempPathMat, matCSV.toByteArray(Charsets.UTF_8)) + //Files.write(tempPathTile, tileCSV.toByteArray(Charsets.UTF_8)) + //Files.write(tempPathItem, itemCSV.toByteArray(Charsets.UTF_8)) + //Files.write(tempPathMat, matCSV.toByteArray(Charsets.UTF_8)) // replace savemeta with tempfile try { diff --git a/src/net/torvald/serialise/WriteMeta.kt b/src/net/torvald/serialise/WriteMeta.kt index a02356485..fe57678fa 100644 --- a/src/net/torvald/serialise/WriteMeta.kt +++ b/src/net/torvald/serialise/WriteMeta.kt @@ -5,6 +5,7 @@ import net.torvald.terrarum.mapgenerator.RoguelikeRandomiser import net.torvald.terrarum.Terrarum import net.torvald.terrarum.itemproperties.ItemPropCodex import net.torvald.terrarum.itemproperties.MaterialPropCodex +import net.torvald.terrarum.tileproperties.TilePropCSV import net.torvald.terrarum.tileproperties.TilePropCodex import org.apache.commons.codec.digest.DigestUtils import java.io.FileInputStream @@ -42,24 +43,17 @@ object WriteMeta { val savenameAsByteArray: ByteArray = (savegameName ?: saveDirectoryName).toByteArray(Charsets.UTF_8) - // define files to get hash - val fileArray: Array = arrayOf( - File(TilePropCodex.CSV_PATH) - , File(ItemPropCodex.CSV_PATH) - , File(MaterialPropCodex.CSV_PATH) - //, + // define Strings to be hashed + val props = arrayOf( + TilePropCSV.text + //, (item, mat, ...) ) - // get and store hash from fileArray - for (file in fileArray) { - val inputStream = FileInputStream(file) - val hash = DigestUtils.sha256(inputStream) - - hashArray.add(hash) - } + // get and store hash from the list + props.map { hashArray.add(DigestUtils.sha256(it)) } // open file and delete it - val metaPath = Paths.get("${Terrarum.defaultSaveDir}" + + val metaPath = Paths.get("$Terrarum.defaultSaveDir" + "/$saveDirectoryName/$META_FILENAME") val metaTempPath = Files.createTempFile(metaPath.toString(), "_temp") diff --git a/src/net/torvald/terrarum/StateInGame.kt b/src/net/torvald/terrarum/StateInGame.kt index a643fae59..8adeffeb9 100644 --- a/src/net/torvald/terrarum/StateInGame.kt +++ b/src/net/torvald/terrarum/StateInGame.kt @@ -188,8 +188,8 @@ constructor() : BasicGameState() { /////////////////////////// // input-related updates // /////////////////////////// - GameController.processInput(gc.input) - uiContainer.forEach { it.processInput(gc.input) } + GameController.processInput(gc, delta, gc.input) + uiContainer.forEach { it.processInput(gc, delta, gc.input) } //////////////////////////// diff --git a/src/net/torvald/terrarum/StateMonitorCheck.kt b/src/net/torvald/terrarum/StateMonitorCheck.kt index 31ff25bb5..3d47908bc 100644 --- a/src/net/torvald/terrarum/StateMonitorCheck.kt +++ b/src/net/torvald/terrarum/StateMonitorCheck.kt @@ -149,7 +149,7 @@ class StateMonitorCheck : BasicGameState() { } - override fun processInput(input: Input) { + override fun processInput(gc: GameContainer, delta: Int, input: Input) { } override fun doOpening(gc: GameContainer, delta: Int) { diff --git a/src/net/torvald/terrarum/gameactors/ActorHumanoid.kt b/src/net/torvald/terrarum/gameactors/ActorHumanoid.kt index e9f073b7f..497886a67 100644 --- a/src/net/torvald/terrarum/gameactors/ActorHumanoid.kt +++ b/src/net/torvald/terrarum/gameactors/ActorHumanoid.kt @@ -6,6 +6,7 @@ import net.torvald.terrarum.gameactors.* import net.torvald.terrarum.gameactors.faction.Faction import net.torvald.terrarum.gamecontroller.EnumKeyFunc import net.torvald.terrarum.gamecontroller.KeyMap +import net.torvald.terrarum.gameitem.InventoryItem import net.torvald.terrarum.realestate.RealEstateUtility import org.dyn4j.geometry.Vector2 import org.lwjgl.input.Controller @@ -25,6 +26,12 @@ open class ActorHumanoid(birth: GameDate, death: GameDate? = null) /** Must be set by PlayerFactory */ override var inventory: ActorInventory = ActorInventory() + override var itemHolding: InventoryItem + get() = throw TODO("itemHolding") + set(value) { + throw TODO("itemHolding") + } + /** Must be set by PlayerFactory */ override var faction: HashSet = HashSet() /** @@ -126,7 +133,7 @@ open class ActorHumanoid(birth: GameDate, death: GameDate? = null) protected var isRightDown = false protected var isJumpDown = false protected val isGamer: Boolean - get() = this is Player + get() = this is Player // FIXME true iff composed by PlayableActorDelegate override fun update(gc: GameContainer, delta: Int) { @@ -174,7 +181,7 @@ open class ActorHumanoid(birth: GameDate, death: GameDate? = null) } } - override fun processInput(input: Input) { + override fun processInput(gc: GameContainer, delta: Int, input: Input) { if (isGamer && Terrarum.hasController) { gamepad = Controllers.getController(0) axisX = gamepad!!.getAxisValue(0) @@ -189,6 +196,24 @@ open class ActorHumanoid(birth: GameDate, death: GameDate? = null) if (Math.abs(axisRY) < Terrarum.CONTROLLER_DEADZONE) axisRY = 0f } + /////////////////// + // MOUSE CONTROL // + /////////////////// + // PRIMARY/SECONDARY IS FIXED TO LEFT/RIGHT BUTTON // + + /** + * Primary Use + */ + // Left mouse + if (isGamer && input.isMouseButtonDown(Input.MOUSE_LEFT_BUTTON)) { + itemHolding.primaryUse(gc, delta) + } + + // Right mouse + if (isGamer && input.isMouseButtonDown(Input.MOUSE_RIGHT_BUTTON)) { + itemHolding.secondaryUse(gc, delta) + } + /** * L-R stop */ diff --git a/src/net/torvald/terrarum/gameactors/Controllable.kt b/src/net/torvald/terrarum/gameactors/Controllable.kt index 5c53c88fa..92593cef7 100644 --- a/src/net/torvald/terrarum/gameactors/Controllable.kt +++ b/src/net/torvald/terrarum/gameactors/Controllable.kt @@ -1,6 +1,7 @@ package net.torvald.terrarum.gameactors import org.dyn4j.geometry.Vector2 +import org.newdawn.slick.GameContainer import org.newdawn.slick.Input /** @@ -10,7 +11,7 @@ import org.newdawn.slick.Input */ interface Controllable { - fun processInput(input: Input) + fun processInput(gc: GameContainer, delta: Int, input: Input) fun keyPressed(key: Int, c: Char) diff --git a/src/net/torvald/terrarum/gameactors/DroppedItem.kt b/src/net/torvald/terrarum/gameactors/DroppedItem.kt index 1e5c5e703..1ee4f0e6c 100644 --- a/src/net/torvald/terrarum/gameactors/DroppedItem.kt +++ b/src/net/torvald/terrarum/gameactors/DroppedItem.kt @@ -26,7 +26,7 @@ class DroppedItem(private val item: InventoryItem) : ActorWithBody() { } override fun update(gc: GameContainer, delta: Int) { - item.worldActorEffect(gc, delta) + item.effectWhenTakenOut(gc, delta) } override fun drawBody(gc: GameContainer, g: Graphics) { diff --git a/src/net/torvald/terrarum/gameactors/PlayableActorDelegate.kt b/src/net/torvald/terrarum/gameactors/PlayableActorDelegate.kt index 4dee1c57f..5b47e5f2e 100644 --- a/src/net/torvald/terrarum/gameactors/PlayableActorDelegate.kt +++ b/src/net/torvald/terrarum/gameactors/PlayableActorDelegate.kt @@ -1,6 +1,7 @@ package net.torvald.terrarum.gameactors import net.torvald.terrarum.gameactors.ActorHumanoid +import org.newdawn.slick.GameContainer import org.newdawn.slick.Input /** @@ -16,8 +17,8 @@ class PlayableActorDelegate(val actor: ActorHumanoid) { throw IllegalArgumentException("Player must be 'Controllable'!") } - fun processInput(input: Input) { - (actor as Controllable).processInput(input) + fun processInput(gc: GameContainer, delta: Int, input: Input) { + (actor as Controllable).processInput(gc, delta, input) } fun keyPressed(key: Int, c: Char) { diff --git a/src/net/torvald/terrarum/gameactors/Pocketed.kt b/src/net/torvald/terrarum/gameactors/Pocketed.kt index f92c3d3be..ca3e421ab 100644 --- a/src/net/torvald/terrarum/gameactors/Pocketed.kt +++ b/src/net/torvald/terrarum/gameactors/Pocketed.kt @@ -1,5 +1,7 @@ package net.torvald.terrarum.gameactors +import net.torvald.terrarum.gameitem.InventoryItem + /** * Created by minjaesong on 16-01-15. */ @@ -7,4 +9,7 @@ interface Pocketed { var inventory: ActorInventory + /** Item currentry holding, like tools/weapons/scrolls/magic/etc. */ + var itemHolding: InventoryItem + } \ No newline at end of file diff --git a/src/net/torvald/terrarum/gamecontroller/GameController.kt b/src/net/torvald/terrarum/gamecontroller/GameController.kt index 46b75e131..34ab0fd9c 100644 --- a/src/net/torvald/terrarum/gamecontroller/GameController.kt +++ b/src/net/torvald/terrarum/gamecontroller/GameController.kt @@ -10,6 +10,7 @@ import net.torvald.terrarum.tileproperties.TileNameCode import net.torvald.terrarum.tileproperties.TilePropCodex import net.torvald.terrarum.ui.UIHandler import org.dyn4j.geometry.Vector2 +import org.newdawn.slick.GameContainer import org.newdawn.slick.Input /** @@ -17,38 +18,45 @@ import org.newdawn.slick.Input */ object GameController { - val mouseX: Float + // these four values can also be accessed with GameContainer. + // e.g. gc.mouseTileX + + /** position of the mouse (pixelwise) relative to the world (also, currently pointing world-wise coordinate, if the world coordinate is pixel-wise) */ + internal val mouseX: Float get() = (MapCamera.cameraX + Terrarum.appgc.input.mouseX / Terrarum.ingame.screenZoom) - val mouseY: Float + /** position of the mouse (pixelwise) relative to the world (also, currently pointing world-wise coordinate, if the world coordinate is pixel-wise)*/ + internal val mouseY: Float get() = (MapCamera.cameraY + Terrarum.appgc.input.mouseY / Terrarum.ingame.screenZoom) - val mouseTileX: Int + /** currently pointing tile coordinate */ + internal val mouseTileX: Int get() = (mouseX / MapDrawer.TILE_SIZE).toInt() - val mouseTileY: Int + /** currently pointing tile coordinate */ + internal val mouseTileY: Int get() = (mouseY / MapDrawer.TILE_SIZE).toInt() - fun processInput(input: Input) { + fun processInput(gc: GameContainer, delta: Int, input: Input) { KeyToggler.update(input) if (!Terrarum.ingame.consoleHandler.isTakingControl) { if (Terrarum.ingame.player is Player && (Terrarum.ingame.player as Player).vehicleRiding != null) { - (Terrarum.ingame.player as Player).vehicleRiding!!.processInput(input) + (Terrarum.ingame.player as Player).vehicleRiding!!.processInput(gc, delta, input) } - Terrarum.ingame.player.processInput(input) + Terrarum.ingame.player.processInput(gc, delta, input) for (ui in Terrarum.ingame.uiContainer) { - ui.processInput(input) + ui.processInput(gc, delta, input) } } else { - Terrarum.ingame.consoleHandler.processInput(input) + Terrarum.ingame.consoleHandler.processInput(gc, delta, input) } - if (input.isMouseButtonDown(Input.MOUSE_LEFT_BUTTON)) { - // test tile remove + // test tile remove + /*if (input.isMouseButtonDown(Input.MOUSE_LEFT_BUTTON)) { try { Terrarum.ingame.world.setTileTerrain(mouseTileX, mouseTileY, TileNameCode.AIR) // terrarum.game.map.setTileWall(mouseTileX, mouseTileY, TileNameCode.AIR); @@ -58,8 +66,8 @@ object GameController { } + // test tile place else if (input.isMouseButtonDown(Input.MOUSE_RIGHT_BUTTON)) { - // test tile place try { Terrarum.ingame.world.setTileTerrain( mouseTileX, mouseTileY, @@ -69,7 +77,22 @@ object GameController { catch (e: ArrayIndexOutOfBoundsException) { } - } + }*/ + + + /////////////////// + // MOUSE CONTROL // + /////////////////// + // PRIMARY/SECONDARY IS FIXED TO LEFT/RIGHT BUTTON // + + + + + + + ///////////////////// + // GAMEPAD CONTROL // + ///////////////////// } fun keyPressed(key: Int, c: Char) { @@ -109,13 +132,14 @@ object GameController { } fun mousePressed(button: Int, x: Int, y: Int) { - if (button == 0) { + // bullet test + /*if (button == 0) { Terrarum.ingame.addActor(ProjectileSimple( 0, Terrarum.ingame.player.centrePosition, Vector2(mouseX.toDouble(), mouseY.toDouble()) )) - } + }*/ } fun mouseReleased(button: Int, x: Int, y: Int) { @@ -138,3 +162,16 @@ object GameController { return KeyMap.getKeyCode(fn) == key } } + +/** position of the mouse (pixelwise) relative to the world (also, currently pointing world-wise coordinate, if the world coordinate is pixel-wise) */ +val GameContainer.mouseX: Float + get() = GameController.mouseX +/** position of the mouse (pixelwise) relative to the world (also, currently pointing world-wise coordinate, if the world coordinate is pixel-wise) */ +val GameContainer.mouseY: Float + get() = GameController.mouseY +/** currently pointing tile coordinate */ +val GameContainer.mouseTileX: Int + get() = GameController.mouseTileX +/** currently pointing tile coordinate */ +val GameContainer.mouseTileY: Int + get() = GameController.mouseTileY diff --git a/src/net/torvald/terrarum/gameitem/DynamicItem.kt b/src/net/torvald/terrarum/gameitem/DynamicItem.kt index 93e778483..281297208 100644 --- a/src/net/torvald/terrarum/gameitem/DynamicItem.kt +++ b/src/net/torvald/terrarum/gameitem/DynamicItem.kt @@ -13,13 +13,6 @@ import org.newdawn.slick.GameContainer * Created by minjaesong on 16-09-08. */ open class DynamicItem(val baseItemID: Int, val newMass: Double? = null, val newScale: Double? = null) : InventoryItem { - /** - * Effects applied (continuously or not) while thrown to the world, - * called by the proxy Actor - */ - override fun worldActorEffect(gc: GameContainer, delta: Int) { - throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates. - } /** * Internal ID of an Item, Long diff --git a/src/net/torvald/terrarum/gameitem/TileAsItem.kt b/src/net/torvald/terrarum/gameitem/TileAsItem.kt deleted file mode 100644 index e6294d3ba..000000000 --- a/src/net/torvald/terrarum/gameitem/TileAsItem.kt +++ /dev/null @@ -1,54 +0,0 @@ -package net.torvald.terrarum.gameitem - -import net.torvald.terrarum.tileproperties.TilePropCodex -import org.newdawn.slick.GameContainer - -/** - * Created by minjaesong on 16-03-15. - */ -class TileAsItem(tileNum: Int) : InventoryItem { - - override var itemID: Int = 0 - override var mass: Double = 0.0 - override var scale: Double = 1.0 - - init { - itemID = tileNum - mass = TilePropCodex.getProp(tileNum).density / 1000.0 - } - - override fun effectWhileInPocket(gc: GameContainer, delta_t: Int) { - throw UnsupportedOperationException() - } - - override fun effectWhenPickedUp(gc: GameContainer, delta_t: Int) { - throw UnsupportedOperationException() - } - - override fun primaryUse(gc: GameContainer, delta_t: Int) { - throw UnsupportedOperationException() - } - - override fun secondaryUse(gc: GameContainer, delta_t: Int) { - throw UnsupportedOperationException() - } - - override fun effectWhenThrown(gc: GameContainer, delta_t: Int) { - throw UnsupportedOperationException() - } - - /** - * Effects applied (continuously or not) while thrown to the world - */ - override fun effectWhenTakenOut(gc: GameContainer, delta: Int) { - throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates. - } - - /** - * Effects applied (continuously or not) while thrown to the world, - * called by the proxy Actor - */ - override fun worldActorEffect(gc: GameContainer, delta: Int) { - throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates. - } -} \ No newline at end of file diff --git a/src/net/torvald/terrarum/itemproperties/ItemPropCodex.kt b/src/net/torvald/terrarum/itemproperties/ItemPropCodex.kt index 2595bdd6d..45184ca87 100644 --- a/src/net/torvald/terrarum/itemproperties/ItemPropCodex.kt +++ b/src/net/torvald/terrarum/itemproperties/ItemPropCodex.kt @@ -5,6 +5,8 @@ import net.torvald.terrarum.KVHashMap import net.torvald.terrarum.gameactors.CanBeAnItem import net.torvald.terrarum.gameitem.InventoryItem import net.torvald.terrarum.Terrarum +import net.torvald.terrarum.gamecontroller.mouseTileX +import net.torvald.terrarum.gamecontroller.mouseTileY import net.torvald.terrarum.gameitem.InventoryItemAdapter import net.torvald.terrarum.gameworld.GameWorld import net.torvald.terrarum.tileproperties.TileProp @@ -46,7 +48,13 @@ object ItemPropCodex { } override fun secondaryUse(gc: GameContainer, delta: Int) { - // TODO place block to the world + // TODO check if occupied by ANY ActorWithBodies + + Terrarum.ingame.world.setTileTerrain( + gc.mouseTileX, + gc.mouseTileY, + i + ) } } } diff --git a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt index 041335c75..e3e399917 100644 --- a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt +++ b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt @@ -40,7 +40,7 @@ class BasicDebugInfoWindow : UICanvas { val ccR = GameFontBase.colToCode["r"] val ccM = GameFontBase.colToCode["m"] - override fun processInput(input: Input) { + override fun processInput(gc: GameContainer, delta: Int, input: Input) { } diff --git a/src/net/torvald/terrarum/ui/ConsoleWindow.kt b/src/net/torvald/terrarum/ui/ConsoleWindow.kt index 3b2076e9c..6670350b1 100644 --- a/src/net/torvald/terrarum/ui/ConsoleWindow.kt +++ b/src/net/torvald/terrarum/ui/ConsoleWindow.kt @@ -128,7 +128,7 @@ class ConsoleWindow : UICanvas, KeyboardControlled { } - override fun processInput(input: Input) { + override fun processInput(gc: GameContainer, delta: Int, input: Input) { } diff --git a/src/net/torvald/terrarum/ui/MessageWindow.kt b/src/net/torvald/terrarum/ui/MessageWindow.kt index 70359408f..b63dffea1 100644 --- a/src/net/torvald/terrarum/ui/MessageWindow.kt +++ b/src/net/torvald/terrarum/ui/MessageWindow.kt @@ -85,7 +85,7 @@ constructor(override var width: Int, isBlackVariant: Boolean) : UICanvas { } } - override fun processInput(input: Input) { + override fun processInput(gc: GameContainer, delta: Int, input: Input) { } diff --git a/src/net/torvald/terrarum/ui/Notification.kt b/src/net/torvald/terrarum/ui/Notification.kt index c28cc9295..18a5e6b2b 100644 --- a/src/net/torvald/terrarum/ui/Notification.kt +++ b/src/net/torvald/terrarum/ui/Notification.kt @@ -67,7 +67,7 @@ constructor() : UICanvas { handler!!.opacity = 0f } - override fun processInput(input: Input) { + override fun processInput(gc: GameContainer, delta: Int, input: Input) { } fun sendNotification(message: Array) { diff --git a/src/net/torvald/terrarum/ui/UICanvas.kt b/src/net/torvald/terrarum/ui/UICanvas.kt index ee8b63512..deb3c3205 100644 --- a/src/net/torvald/terrarum/ui/UICanvas.kt +++ b/src/net/torvald/terrarum/ui/UICanvas.kt @@ -28,7 +28,7 @@ interface UICanvas { fun render(gc: GameContainer, g: Graphics) - fun processInput(input: Input) + fun processInput(gc: GameContainer, delta: Int, input: Input) /** * Do not modify handler!!.openCloseCounter here. diff --git a/src/net/torvald/terrarum/ui/UIHandler.kt b/src/net/torvald/terrarum/ui/UIHandler.kt index 48aa76206..e6cf52976 100644 --- a/src/net/torvald/terrarum/ui/UIHandler.kt +++ b/src/net/torvald/terrarum/ui/UIHandler.kt @@ -190,9 +190,9 @@ constructor(val UI: UICanvas) { } } - fun processInput(input: Input) { + fun processInput(gc: GameContainer, delta: Int, input: Input) { if (isVisible) { - UI.processInput(input) + UI.processInput(gc, delta, input) } } diff --git a/src/net/torvald/terrarum/ui/UIPieMenu.kt b/src/net/torvald/terrarum/ui/UIPieMenu.kt index 53fafcedd..ee98945b0 100644 --- a/src/net/torvald/terrarum/ui/UIPieMenu.kt +++ b/src/net/torvald/terrarum/ui/UIPieMenu.kt @@ -68,7 +68,7 @@ class UIPieMenu : UICanvas { } } - override fun processInput(input: Input) { + override fun processInput(gc: GameContainer, delta: Int, input: Input) { if (handler!!.isOpened || handler!!.isOpening) { val cursorPos = Vector2(input.mouseX.toDouble(), input.mouseY.toDouble()) val centre = Vector2(Terrarum.WIDTH / 2.0, Terrarum.HEIGHT / 2.0) diff --git a/src/net/torvald/terrarum/ui/UIQuickBar.kt b/src/net/torvald/terrarum/ui/UIQuickBar.kt index 2bacc54d9..46f5448f6 100644 --- a/src/net/torvald/terrarum/ui/UIQuickBar.kt +++ b/src/net/torvald/terrarum/ui/UIQuickBar.kt @@ -51,7 +51,7 @@ class UIQuickBar : UICanvas, MouseControlled { } } - override fun processInput(input: Input) { + override fun processInput(gc: GameContainer, delta: Int, input: Input) { } override fun doOpening(gc: GameContainer, delta: Int) { diff --git a/src/net/torvald/terrarum/virtualcomputer/worldobject/ui/UITextTerminal.kt b/src/net/torvald/terrarum/virtualcomputer/worldobject/ui/UITextTerminal.kt index ef3823090..9699a0fd4 100644 --- a/src/net/torvald/terrarum/virtualcomputer/worldobject/ui/UITextTerminal.kt +++ b/src/net/torvald/terrarum/virtualcomputer/worldobject/ui/UITextTerminal.kt @@ -61,7 +61,7 @@ class UITextTerminal(val terminal: Terminal) : UICanvas, KeyboardControlled, Mou terminal.render(gc, terminalDisplay.graphics) } - override fun processInput(input: Input) { + override fun processInput(gc: GameContainer, delta: Int, input: Input) { } /**