mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-10 02:24:05 +09:00
tooltipmanager
This commit is contained in:
47
src/net/torvald/terrarum/TooltipManager.kt
Normal file
47
src/net/torvald/terrarum/TooltipManager.kt
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
package net.torvald.terrarum
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2024-10-11.
|
||||||
|
*/
|
||||||
|
object TooltipManager {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Special hash values:
|
||||||
|
* - 10001: Encumbrance bar
|
||||||
|
* - 10002: Pickaxe
|
||||||
|
*/
|
||||||
|
val tooltipShowing = HashMap<Long, Boolean>()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tooltip works like a "bus" principle: you acquire the control on the tooltip-bus to show a tooltip; you
|
||||||
|
* release the control to the bus to hide it. `unsetToolTip()` will release the bus and forcibly closes
|
||||||
|
* the tooltip UI.
|
||||||
|
*
|
||||||
|
* Created by minjaesong on 2024-10-11.
|
||||||
|
*/
|
||||||
|
abstract class TooltipListener {
|
||||||
|
|
||||||
|
open val tooltipHash = System.nanoTime()
|
||||||
|
|
||||||
|
fun acquireTooltip(message: String?) {
|
||||||
|
INGAME.setTooltipMessage(message)
|
||||||
|
TooltipManager.tooltipShowing[tooltipHash] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
fun releaseTooltip() {
|
||||||
|
// TooltipManager.tooltipShowing[tooltipHash] = false // I doubt this is not really necessary...?
|
||||||
|
TooltipManager.tooltipShowing.remove(tooltipHash)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun removeFromTooltipRecord() {
|
||||||
|
TooltipManager.tooltipShowing.remove(tooltipHash)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun clearTooltip() {
|
||||||
|
TooltipManager.tooltipShowing.clear()
|
||||||
|
INGAME.setTooltipMessage(null)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun tooltipAcquired() = TooltipManager.tooltipShowing[tooltipHash] ?: false
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import net.torvald.terrarum.App.printdbg
|
|||||||
import net.torvald.terrarum.App.printdbgerr
|
import net.torvald.terrarum.App.printdbgerr
|
||||||
import net.torvald.terrarum.INGAME
|
import net.torvald.terrarum.INGAME
|
||||||
import net.torvald.terrarum.Terrarum
|
import net.torvald.terrarum.Terrarum
|
||||||
|
import net.torvald.terrarum.TooltipListener
|
||||||
import net.torvald.terrarum.audio.AudioBank
|
import net.torvald.terrarum.audio.AudioBank
|
||||||
import net.torvald.terrarum.audio.audiobank.MusicContainer
|
import net.torvald.terrarum.audio.audiobank.MusicContainer
|
||||||
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack
|
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack
|
||||||
@@ -27,7 +28,7 @@ typealias ActorID = Int
|
|||||||
*
|
*
|
||||||
* Created by minjaesong on 2015-12-31.
|
* Created by minjaesong on 2015-12-31.
|
||||||
*/
|
*/
|
||||||
abstract class Actor : Comparable<Actor>, Runnable {
|
abstract class Actor(): TooltipListener(), Comparable<Actor>, Runnable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Valid RefID is equal to or greater than 16777216.
|
* Valid RefID is equal to or greater than 16777216.
|
||||||
@@ -42,7 +43,6 @@ abstract class Actor : Comparable<Actor>, Runnable {
|
|||||||
*/
|
*/
|
||||||
var renderOrder = RenderOrder.MIDDLE
|
var renderOrder = RenderOrder.MIDDLE
|
||||||
|
|
||||||
protected constructor()
|
|
||||||
|
|
||||||
// needs zero-arg constructor for serialiser to work
|
// needs zero-arg constructor for serialiser to work
|
||||||
constructor(renderOrder: RenderOrder, id: ActorID?) : this() {
|
constructor(renderOrder: RenderOrder, id: ActorID?) : this() {
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import net.torvald.terrarum.modulebasegame.TerrarumIngame
|
|||||||
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
|
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.IngamePlayer
|
import net.torvald.terrarum.modulebasegame.gameactors.IngamePlayer
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.Pocketed
|
import net.torvald.terrarum.modulebasegame.gameactors.Pocketed
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.realestate.LandUtil
|
import net.torvald.terrarum.realestate.LandUtil
|
||||||
import net.torvald.terrarum.worlddrawer.CreateTileAtlas
|
import net.torvald.terrarum.worlddrawer.CreateTileAtlas
|
||||||
import net.torvald.terrarum.worlddrawer.WorldCamera
|
import net.torvald.terrarum.worlddrawer.WorldCamera
|
||||||
@@ -98,8 +97,6 @@ open class ActorWithBody : Actor {
|
|||||||
val mouseUp: Boolean
|
val mouseUp: Boolean
|
||||||
get() = hitbox.containsPoint((world?.width ?: 0) * TILE_SIZED, Terrarum.mouseX, Terrarum.mouseY)
|
get() = hitbox.containsPoint((world?.width ?: 0) * TILE_SIZED, Terrarum.mouseX, Terrarum.mouseY)
|
||||||
|
|
||||||
@Transient protected val tooltipHash = System.nanoTime()
|
|
||||||
|
|
||||||
var hitboxTranslateX: Int = 0// relative to spritePosX
|
var hitboxTranslateX: Int = 0// relative to spritePosX
|
||||||
protected set
|
protected set
|
||||||
var hitboxTranslateY: Int = 0// relative to spritePosY
|
var hitboxTranslateY: Int = 0// relative to spritePosY
|
||||||
@@ -702,14 +699,13 @@ open class ActorWithBody : Actor {
|
|||||||
else submergedHeight / hitbox.height
|
else submergedHeight / hitbox.height
|
||||||
|
|
||||||
|
|
||||||
if (mouseUp && tooltipText != null && tooltipShowing[tooltipHash] != true) {
|
if (mouseUp && tooltipText != null && !tooltipAcquired()) {
|
||||||
INGAME.setTooltipMessage(tooltipText)
|
acquireTooltip(tooltipText)
|
||||||
tooltipShowing[tooltipHash] = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tooltipText == null || !mouseUp || flagDespawn) {
|
if (tooltipText == null || !mouseUp || flagDespawn) {
|
||||||
tooltipShowing[tooltipHash] = false
|
releaseTooltip()
|
||||||
}
|
}
|
||||||
|
|
||||||
// isStationary = (hitbox - oldHitbox).magnitudeSquared < PHYS_EPSILON_VELO
|
// isStationary = (hitbox - oldHitbox).magnitudeSquared < PHYS_EPSILON_VELO
|
||||||
@@ -1980,7 +1976,7 @@ open class ActorWithBody : Actor {
|
|||||||
|
|
||||||
internal open fun flagDespawn() {
|
internal open fun flagDespawn() {
|
||||||
flagDespawn = true
|
flagDespawn = true
|
||||||
tooltipShowing.remove(tooltipHash)
|
removeFromTooltipRecord()
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun getSpriteHead(): TextureRegion? {
|
open fun getSpriteHead(): TextureRegion? {
|
||||||
@@ -2316,7 +2312,7 @@ open class ActorWithBody : Actor {
|
|||||||
App.disposables.add(sprite)
|
App.disposables.add(sprite)
|
||||||
App.disposables.add(spriteGlow)
|
App.disposables.add(spriteGlow)
|
||||||
App.disposables.add(spriteEmissive)
|
App.disposables.add(spriteEmissive)
|
||||||
tooltipShowing.remove(tooltipHash)
|
removeFromTooltipRecord()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ typealias ItemID = String
|
|||||||
*
|
*
|
||||||
* Created by minjaesong on 2016-01-16.
|
* Created by minjaesong on 2016-01-16.
|
||||||
*/
|
*/
|
||||||
abstract class GameItem(val originalID: ItemID) : Comparable<GameItem>, Cloneable, TaggedProp {
|
abstract class GameItem(val originalID: ItemID) : TooltipListener(), Comparable<GameItem>, Cloneable, TaggedProp {
|
||||||
|
|
||||||
constructor() : this("-uninitialised-")
|
constructor() : this("-uninitialised-")
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,16 @@
|
|||||||
package net.torvald.terrarum.modulebasegame.gameactors
|
package net.torvald.terrarum.modulebasegame.gameactors
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
|
||||||
import net.torvald.spriteanimation.SheetSpriteAnimation
|
import net.torvald.spriteanimation.SheetSpriteAnimation
|
||||||
import net.torvald.terrarum.App
|
|
||||||
import net.torvald.terrarum.INGAME
|
|
||||||
import net.torvald.terrarum.Point2i
|
import net.torvald.terrarum.Point2i
|
||||||
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
||||||
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZED
|
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZED
|
||||||
import net.torvald.terrarum.gameactors.AVKey
|
import net.torvald.terrarum.gameactors.AVKey
|
||||||
import net.torvald.terrarum.gameworld.fmod
|
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInductionMotor.Companion.MASS
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInductionMotor.Companion.MASS
|
||||||
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
|
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.toInt
|
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
import org.dyn4j.geometry.Vector2
|
import org.dyn4j.geometry.Vector2
|
||||||
import kotlin.math.absoluteValue
|
import kotlin.math.absoluteValue
|
||||||
import kotlin.math.roundToLong
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by minjaesong on 2024-10-03.
|
* Created by minjaesong on 2024-10-03.
|
||||||
@@ -59,10 +52,6 @@ class FixtureInductionMotor : Electric {
|
|||||||
setWireEmissionAt(2, 0, Vector2(16.0, 1024.0)) // speed and torque
|
setWireEmissionAt(2, 0, Vector2(16.0, 1024.0)) // speed and torque
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
|
||||||
tooltipShowing.remove(tooltipHash)
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val MASS = 20.0
|
const val MASS = 20.0
|
||||||
}
|
}
|
||||||
@@ -187,10 +176,6 @@ class FixtureGearbox : Electric, Reorientable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
|
||||||
tooltipShowing.remove(tooltipHash)
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@Transient val posVecsIn = listOf(
|
@Transient val posVecsIn = listOf(
|
||||||
// Point2i(1, 0),
|
// Point2i(1, 0),
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
|||||||
import net.torvald.terrarum.gameactors.AVKey
|
import net.torvald.terrarum.gameactors.AVKey
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
|
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes
|
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
import org.dyn4j.geometry.Vector2
|
import org.dyn4j.geometry.Vector2
|
||||||
|
|
||||||
@@ -43,7 +41,7 @@ class FixtureLogicSignalEmitter : Electric {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
tooltipShowing.remove(tooltipHash)
|
removeFromTooltipRecord()
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import net.torvald.terrarum.gameitems.ItemID
|
|||||||
import net.torvald.terrarum.itemproperties.Item
|
import net.torvald.terrarum.itemproperties.Item
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameitems.ItemTextSignCopper
|
import net.torvald.terrarum.modulebasegame.gameitems.ItemTextSignCopper
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
import net.torvald.unicode.TIMES
|
import net.torvald.unicode.TIMES
|
||||||
import org.dyn4j.geometry.Vector2
|
import org.dyn4j.geometry.Vector2
|
||||||
@@ -253,7 +252,7 @@ class FixtureTextSignCopper : Electric {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
tooltipShowing.remove(tooltipHash)
|
removeFromTooltipRecord()
|
||||||
sprite?.dispose()
|
sprite?.dispose()
|
||||||
spriteGlow?.dispose()
|
spriteGlow?.dispose()
|
||||||
spriteEmissive?.dispose()
|
spriteEmissive?.dispose()
|
||||||
|
|||||||
@@ -1,31 +1,26 @@
|
|||||||
package net.torvald.terrarum.modulebasegame.gameitems
|
package net.torvald.terrarum.modulebasegame.gameitems
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureRegion
|
|
||||||
import net.torvald.terrarum.App
|
import net.torvald.terrarum.App
|
||||||
import net.torvald.terrarum.CommonResourcePool
|
import net.torvald.terrarum.CommonResourcePool
|
||||||
import net.torvald.terrarum.INGAME
|
import net.torvald.terrarum.INGAME
|
||||||
import net.torvald.terrarum.Terrarum
|
|
||||||
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZED
|
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZED
|
||||||
import net.torvald.terrarum.gameactors.ActorWithBody
|
import net.torvald.terrarum.gameactors.ActorWithBody
|
||||||
import net.torvald.terrarum.gameactors.WireActor
|
|
||||||
import net.torvald.terrarum.gameitems.FixtureInteractionBlocked
|
import net.torvald.terrarum.gameitems.FixtureInteractionBlocked
|
||||||
import net.torvald.terrarum.gameitems.GameItem
|
import net.torvald.terrarum.gameitems.GameItem
|
||||||
import net.torvald.terrarum.gameitems.ItemID
|
import net.torvald.terrarum.gameitems.ItemID
|
||||||
import net.torvald.terrarum.gameitems.mouseInInteractableRange
|
import net.torvald.terrarum.gameitems.mouseInInteractableRange
|
||||||
import net.torvald.terrarum.langpack.Lang
|
|
||||||
import net.torvald.terrarum.modulebasegame.TerrarumIngame
|
import net.torvald.terrarum.modulebasegame.TerrarumIngame
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem
|
import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.Reorientable
|
import net.torvald.terrarum.modulebasegame.gameactors.Reorientable
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.unicode.getMouseButton
|
import net.torvald.unicode.getMouseButton
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by minjaesong on 2024-03-08.
|
* Created by minjaesong on 2024-03-08.
|
||||||
*/
|
*/
|
||||||
class ItemWrench(originalID: ItemID) : GameItem(originalID), FixtureInteractionBlocked {
|
class ItemWrench(originalID: ItemID) : GameItem(originalID), FixtureInteractionBlocked {
|
||||||
|
override val tooltipHash = 10003L
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val tooltipHash = 10003L
|
|
||||||
private val SP = "\u3000"
|
private val SP = "\u3000"
|
||||||
private val ML = getMouseButton(App.getConfigInt("config_mouseprimary"))
|
private val ML = getMouseButton(App.getConfigInt("config_mouseprimary"))
|
||||||
private val MR = getMouseButton(App.getConfigInt("config_mousesecondary"))
|
private val MR = getMouseButton(App.getConfigInt("config_mousesecondary"))
|
||||||
@@ -55,17 +50,18 @@ class ItemWrench(originalID: ItemID) : GameItem(originalID), FixtureInteractionB
|
|||||||
q = mouseInInteractableRange(actor) { mwx, mwy, mtx, mty ->
|
q = mouseInInteractableRange(actor) { mwx, mwy, mtx, mty ->
|
||||||
(INGAME as TerrarumIngame).world.getWireGraphOf(mtx, mty, "wire@basegame:256").let { cnx ->
|
(INGAME as TerrarumIngame).world.getWireGraphOf(mtx, mty, "wire@basegame:256").let { cnx ->
|
||||||
if (cnx != null) {
|
if (cnx != null) {
|
||||||
INGAME.setTooltipMessage("$ML ${Lang["GAME_ACTION_DISMANTLE"]}\n$MR ${Lang["MENU_CONTROLS_ROTATE"]}")
|
acquireTooltip("$ML ${Lang["GAME_ACTION_DISMANTLE"]}\n$MR ${Lang["MENU_CONTROLS_ROTATE"]}")
|
||||||
tooltipShowing[tooltipHash] = true
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tooltipShowing[tooltipHash] = false
|
releaseTooltip()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
0L
|
0L
|
||||||
}
|
}
|
||||||
if (q == -1L)
|
if (q == -1L)
|
||||||
tooltipShowing[tooltipHash] = false*/
|
releaseTooltip()
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) { mwx, mwy, mtx, mty ->
|
override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) { mwx, mwy, mtx, mty ->
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import net.torvald.terrarum.modulebasegame.TerrarumIngame
|
|||||||
import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem
|
import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem
|
||||||
import net.torvald.terrarum.modulebasegame.gameitems.PickaxeCore.BASE_MASS_AND_SIZE
|
import net.torvald.terrarum.modulebasegame.gameitems.PickaxeCore.BASE_MASS_AND_SIZE
|
||||||
import net.torvald.terrarum.modulebasegame.gameitems.PickaxeCore.TOOL_DURABILITY_BASE
|
import net.torvald.terrarum.modulebasegame.gameitems.PickaxeCore.TOOL_DURABILITY_BASE
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.worlddrawer.CreateTileAtlas.RenderTag
|
import net.torvald.terrarum.worlddrawer.CreateTileAtlas.RenderTag
|
||||||
import org.dyn4j.geometry.Vector2
|
import org.dyn4j.geometry.Vector2
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
@@ -27,8 +26,8 @@ import kotlin.math.roundToInt
|
|||||||
/**
|
/**
|
||||||
* Created by minjaesong on 2019-03-10.
|
* Created by minjaesong on 2019-03-10.
|
||||||
*/
|
*/
|
||||||
object PickaxeCore {
|
object PickaxeCore : TooltipListener() {
|
||||||
private val tooltipHash = 10002L
|
override val tooltipHash = 10002L
|
||||||
private val soundPlayedForThisTick = HashMap<ActorWithBody, Long>()
|
private val soundPlayedForThisTick = HashMap<ActorWithBody, Long>()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -237,7 +236,7 @@ object PickaxeCore {
|
|||||||
val overlayUIopen = (INGAME as? TerrarumIngame)?.uiBlur?.isVisible ?: false
|
val overlayUIopen = (INGAME as? TerrarumIngame)?.uiBlur?.isVisible ?: false
|
||||||
var tooltipSet = false
|
var tooltipSet = false
|
||||||
|
|
||||||
val tooltipWasShown = tooltipShowing[tooltipHash] ?: false
|
val tooltipWasShown = tooltipAcquired()
|
||||||
|
|
||||||
mouseInInteractableRangeTools(actor, tool) {
|
mouseInInteractableRangeTools(actor, tool) {
|
||||||
val tileUnderCursor = INGAME.world.getTileFromOre(mx, my).item
|
val tileUnderCursor = INGAME.world.getTileFromOre(mx, my).item
|
||||||
@@ -249,8 +248,7 @@ object PickaxeCore {
|
|||||||
Lang[ItemCodex[itemForOre]!!.originalName]
|
Lang[ItemCodex[itemForOre]!!.originalName]
|
||||||
else "???"
|
else "???"
|
||||||
if (App.getConfigBoolean("basegame:showpickaxetooltip")) {
|
if (App.getConfigBoolean("basegame:showpickaxetooltip")) {
|
||||||
INGAME.setTooltipMessage(tileName)
|
acquireTooltip(tileName)
|
||||||
tooltipShowing[tooltipHash] = true
|
|
||||||
}
|
}
|
||||||
tooltipSet = true
|
tooltipSet = true
|
||||||
}
|
}
|
||||||
@@ -269,7 +267,8 @@ object PickaxeCore {
|
|||||||
true // just a placeholder
|
true // just a placeholder
|
||||||
}
|
}
|
||||||
|
|
||||||
if (App.getConfigBoolean("basegame:showpickaxetooltip") && !tooltipSet) tooltipShowing[tooltipHash] = false
|
if (App.getConfigBoolean("basegame:showpickaxetooltip") && !tooltipSet)
|
||||||
|
releaseTooltip()
|
||||||
}
|
}
|
||||||
|
|
||||||
private val soundCue = MusicContainer(
|
private val soundCue = MusicContainer(
|
||||||
|
|||||||
@@ -13,9 +13,6 @@ import net.torvald.terrarum.modulebasegame.TerrarumIngame
|
|||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes
|
||||||
|
|
||||||
class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) {
|
class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) {
|
||||||
|
|
||||||
@Transient private val tooltipHash = System.nanoTime()
|
|
||||||
|
|
||||||
override var baseToolSize: Double? = PickaxeCore.BASE_MASS_AND_SIZE
|
override var baseToolSize: Double? = PickaxeCore.BASE_MASS_AND_SIZE
|
||||||
override var inventoryCategory = Category.TOOL
|
override var inventoryCategory = Category.TOOL
|
||||||
override val canBeDynamic = false
|
override val canBeDynamic = false
|
||||||
@@ -65,12 +62,10 @@ class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (sb.isNotEmpty()) {
|
if (sb.isNotEmpty()) {
|
||||||
UIItemInventoryCellCommonRes.tooltipShowing[tooltipHash] = true
|
acquireTooltip(sb.toString())
|
||||||
(Terrarum.ingame!! as TerrarumIngame).setTooltipMessage(sb.toString())
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
UIItemInventoryCellCommonRes.tooltipShowing[tooltipHash] = false
|
releaseTooltip()
|
||||||
(Terrarum.ingame!! as TerrarumIngame).setTooltipMessage(null)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,6 +73,6 @@ class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) {
|
|||||||
(Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = ""
|
(Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = ""
|
||||||
(Terrarum.ingame!! as TerrarumIngame).setTooltipMessage(null)
|
(Terrarum.ingame!! as TerrarumIngame).setTooltipMessage(null)
|
||||||
blockMarker.hideMarker()
|
blockMarker.hideMarker()
|
||||||
UIItemInventoryCellCommonRes.tooltipShowing.remove(tooltipHash)
|
removeFromTooltipRecord()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -213,9 +213,6 @@ class UIAlloyingFurnace(val smelter: FixtureAlloyingFurnace) : UICanvas(
|
|||||||
|
|
||||||
playerThings.setGetInventoryFun { INGAME.actorNowPlaying!!.inventory }
|
playerThings.setGetInventoryFun { INGAME.actorNowPlaying!!.inventory }
|
||||||
itemListUpdate()
|
itemListUpdate()
|
||||||
|
|
||||||
UIItemInventoryCellCommonRes.tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -449,8 +446,6 @@ class UIAlloyingFurnace(val smelter: FixtureAlloyingFurnace) : UICanvas(
|
|||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
override fun endClosing(delta: Float) {
|
||||||
super.endClosing(delta)
|
super.endClosing(delta)
|
||||||
UIItemInventoryCellCommonRes.tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
|||||||
import net.torvald.terrarum.modulebasegame.gameactors.CraftingStation
|
import net.torvald.terrarum.modulebasegame.gameactors.CraftingStation
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.InventoryPair
|
import net.torvald.terrarum.modulebasegame.gameactors.InventoryPair
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.listGap
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.listGap
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UITemplateHalfInventory.Companion.INVENTORY_NAME_TEXT_GAP
|
import net.torvald.terrarum.modulebasegame.ui.UITemplateHalfInventory.Companion.INVENTORY_NAME_TEXT_GAP
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.*
|
||||||
@@ -455,9 +454,6 @@ class UICraftingWorkbench(val inventoryUI: UIInventoryFull?, val parentContainer
|
|||||||
|
|
||||||
super.show()
|
super.show()
|
||||||
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
|
|
||||||
resetUI()
|
resetUI()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -518,15 +514,11 @@ class UICraftingWorkbench(val inventoryUI: UIInventoryFull?, val parentContainer
|
|||||||
|
|
||||||
override fun endOpening(delta: Float) {
|
override fun endOpening(delta: Float) {
|
||||||
super.endOpening(delta)
|
super.endOpening(delta)
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
override fun endClosing(delta: Float) {
|
||||||
super.endClosing(delta)
|
super.endClosing(delta)
|
||||||
resetUI()
|
resetUI()
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import net.torvald.terrarum.langpack.Lang
|
|||||||
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
||||||
import net.torvald.terrarum.modulebasegame.gameitems.ItemTextSignCopper
|
import net.torvald.terrarum.modulebasegame.gameitems.ItemTextSignCopper
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.*
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
import net.torvald.unicode.TIMES
|
import net.torvald.unicode.TIMES
|
||||||
@@ -215,8 +214,6 @@ class UIEngravingTextSign : UICanvas(
|
|||||||
|
|
||||||
override fun show() {
|
override fun show() {
|
||||||
super.show()
|
super.show()
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
resetUI()
|
resetUI()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -286,15 +283,11 @@ class UIEngravingTextSign : UICanvas(
|
|||||||
|
|
||||||
override fun endOpening(delta: Float) {
|
override fun endOpening(delta: Float) {
|
||||||
super.endOpening(delta)
|
super.endOpening(delta)
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
override fun endClosing(delta: Float) {
|
||||||
super.endClosing(delta)
|
super.endClosing(delta)
|
||||||
resetUI()
|
resetUI()
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,6 @@ import com.badlogic.gdx.graphics.OrthographicCamera
|
|||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import net.torvald.terrarum.*
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
|
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem
|
import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
||||||
@@ -14,9 +13,7 @@ import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.CELLS_HO
|
|||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.CELLS_VRT
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.CELLS_VRT
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_X
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_X
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.controlHelpHeight
|
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalWidth
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalWidth
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.createInvCellGenericKeyDownFun
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.createInvCellGenericKeyDownFun
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.createInvCellGenericTouchDownFun
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.createInvCellGenericTouchDownFun
|
||||||
import net.torvald.terrarum.ui.Toolkit
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
@@ -77,10 +74,10 @@ internal class UIInventoryCells(
|
|||||||
"${(actorInventory.capacity * 100L).toLong() / 100.0}"
|
"${(actorInventory.capacity * 100L).toLong() / 100.0}"
|
||||||
|
|
||||||
INGAME.setTooltipMessage("$capaStr/${actorInventory.maxCapacityByActor}")
|
INGAME.setTooltipMessage("$capaStr/${actorInventory.maxCapacityByActor}")
|
||||||
tooltipShowing[10001] = true
|
TooltipManager.tooltipShowing[10001] = true
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tooltipShowing[10001] = false
|
TooltipManager.tooltipShowing[10001] = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -179,19 +176,6 @@ internal class UIInventoryCells(
|
|||||||
UIInventoryCells.drawEncumbranceBar(batch, encumbBarXPos, encumbBarYPos, encumbrancePerc, full.actor.inventory)
|
UIInventoryCells.drawEncumbranceBar(batch, encumbBarXPos, encumbBarYPos, encumbrancePerc, full.actor.inventory)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun show() {
|
|
||||||
super.show()
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
|
||||||
super.endClosing(delta)
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
itemList.dispose()
|
itemList.dispose()
|
||||||
equipped.dispose()
|
equipped.dispose()
|
||||||
|
|||||||
@@ -1,23 +1,15 @@
|
|||||||
package net.torvald.terrarum.modulebasegame.ui
|
package net.torvald.terrarum.modulebasegame.ui
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Camera
|
|
||||||
import com.badlogic.gdx.graphics.Color
|
import com.badlogic.gdx.graphics.Color
|
||||||
import com.badlogic.gdx.graphics.OrthographicCamera
|
import com.badlogic.gdx.graphics.OrthographicCamera
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import net.torvald.terrarum.*
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.App.printdbg
|
|
||||||
import net.torvald.terrarum.Terrarum.getPlayerSaveFiledesc
|
|
||||||
import net.torvald.terrarum.Terrarum.getWorldSaveFiledesc
|
|
||||||
import net.torvald.terrarum.gameactors.AVKey
|
|
||||||
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.TerrarumIngame
|
import net.torvald.terrarum.modulebasegame.TerrarumIngame
|
||||||
import net.torvald.terrarum.modulebasegame.TitleScreen
|
import net.torvald.terrarum.modulebasegame.TitleScreen
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.IngamePlayer
|
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_UI_HEIGHT
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_UI_HEIGHT
|
||||||
import net.torvald.terrarum.modulebasegame.serialise.WriteSavegame
|
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.serialise.WriteConfig
|
import net.torvald.terrarum.serialise.WriteConfig
|
||||||
import net.torvald.terrarum.ui.Toolkit
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
import net.torvald.terrarum.ui.UICanvas
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
@@ -305,8 +297,6 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
|
|||||||
|
|
||||||
override fun show() {
|
override fun show() {
|
||||||
super.show()
|
super.show()
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
toInitScreen()
|
toInitScreen()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -379,8 +369,6 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
|
|||||||
override fun endClosing(delta: Float) {
|
override fun endClosing(delta: Float) {
|
||||||
super.endClosing(delta)
|
super.endClosing(delta)
|
||||||
screen = 0
|
screen = 0
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun hide() {
|
override fun hide() {
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import net.torvald.terrarum.audio.dsp.Lowpass
|
|||||||
import net.torvald.terrarum.gameitems.GameItem
|
import net.torvald.terrarum.gameitems.GameItem
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
|
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.*
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
import net.torvald.unicode.*
|
import net.torvald.unicode.*
|
||||||
@@ -327,12 +326,6 @@ class UIInventoryFull(
|
|||||||
it.setAsOpen()
|
it.setAsOpen()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun show() {
|
|
||||||
super.show()
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
|
||||||
|
|
||||||
internal var offsetX = ((width - internalWidth) / 2).toFloat()
|
internal var offsetX = ((width - internalWidth) / 2).toFloat()
|
||||||
private set
|
private set
|
||||||
internal var offsetY = ((App.scr.height - internalHeight) / 2).toFloat()
|
internal var offsetY = ((App.scr.height - internalHeight) / 2).toFloat()
|
||||||
@@ -427,10 +420,6 @@ class UIInventoryFull(
|
|||||||
INGAME.setTooltipMessage(null) // required!
|
INGAME.setTooltipMessage(null) // required!
|
||||||
// MinimapComposer.revalidateAll()
|
// MinimapComposer.revalidateAll()
|
||||||
|
|
||||||
tooltipShowing.clear()
|
|
||||||
|
|
||||||
// printdbg(this, "Clearing out tooltipShowing")
|
|
||||||
|
|
||||||
shouldIFadeIn = null
|
shouldIFadeIn = null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,8 +45,6 @@ abstract class UIItemInventoryCellBase(
|
|||||||
|
|
||||||
override var suppressHaptic = false
|
override var suppressHaptic = false
|
||||||
|
|
||||||
protected val tooltipHash = System.nanoTime()
|
|
||||||
|
|
||||||
/** Custom highlight rule to highlight tihs button to primary accent colour (blue by default).
|
/** Custom highlight rule to highlight tihs button to primary accent colour (blue by default).
|
||||||
* Set to `null` to use default rule:
|
* Set to `null` to use default rule:
|
||||||
*
|
*
|
||||||
@@ -128,13 +126,6 @@ object UIItemInventoryCellCommonRes {
|
|||||||
Color.WHITE,
|
Color.WHITE,
|
||||||
Toolkit.Theme.COL_CELL_FILL
|
Toolkit.Theme.COL_CELL_FILL
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
|
||||||
* Special hash values:
|
|
||||||
* - 10001: Encumbrance bar
|
|
||||||
* - 10002: Pickaxe
|
|
||||||
*/
|
|
||||||
val tooltipShowing = HashMap<Long, Boolean>() // Long: `hash` field on UIItemInventoryItemGrid
|
|
||||||
}
|
}
|
||||||
|
|
||||||
data class InventoryCellColourTheme(
|
data class InventoryCellColourTheme(
|
||||||
|
|||||||
@@ -5,10 +5,7 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
|||||||
import net.torvald.terrarum.*
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.gameitems.ItemID
|
import net.torvald.terrarum.gameitems.ItemID
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureJukebox
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureJukebox
|
||||||
import net.torvald.terrarum.modulebasegame.gameitems.ItemFileRef
|
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.*
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
import net.torvald.unicode.getKeycapPC
|
import net.torvald.unicode.getKeycapPC
|
||||||
@@ -77,8 +74,6 @@ class UIJukebox : UICanvas(
|
|||||||
override fun show() {
|
override fun show() {
|
||||||
super.show()
|
super.show()
|
||||||
transitionPanel.show()
|
transitionPanel.show()
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun hide() {
|
override fun hide() {
|
||||||
@@ -120,16 +115,6 @@ class UIJukebox : UICanvas(
|
|||||||
INGAME.setTooltipMessage(null)
|
INGAME.setTooltipMessage(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun endOpening(delta: Float) {
|
|
||||||
super.endOpening(delta)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
|
||||||
super.endClosing(delta)
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import net.torvald.terrarum.modulebasegame.gameactors.FixtureSmelterBasic
|
|||||||
import net.torvald.terrarum.modulebasegame.gameactors.InventoryPair
|
import net.torvald.terrarum.modulebasegame.gameactors.InventoryPair
|
||||||
import net.torvald.terrarum.modulebasegame.ui.SmelterGuiEventBuilder.PRODUCT_SLOT
|
import net.torvald.terrarum.modulebasegame.ui.SmelterGuiEventBuilder.PRODUCT_SLOT
|
||||||
import net.torvald.terrarum.modulebasegame.ui.SmelterGuiEventBuilder.SLOT_INDEX_STRIDE
|
import net.torvald.terrarum.modulebasegame.ui.SmelterGuiEventBuilder.SLOT_INDEX_STRIDE
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.*
|
||||||
import net.torvald.terrarum.ui.UIItemCatBar.Companion.FILTER_CAT_ALL
|
import net.torvald.terrarum.ui.UIItemCatBar.Companion.FILTER_CAT_ALL
|
||||||
import net.torvald.terrarum.ui.UIItemInventoryElemWide.Companion.UNIQUE_ITEM_HAS_NO_AMOUNT
|
import net.torvald.terrarum.ui.UIItemInventoryElemWide.Companion.UNIQUE_ITEM_HAS_NO_AMOUNT
|
||||||
@@ -207,9 +206,6 @@ class UISmelterBasic(val smelter: FixtureSmelterBasic) : UICanvas(
|
|||||||
|
|
||||||
playerThings.setGetInventoryFun { INGAME.actorNowPlaying!!.inventory }
|
playerThings.setGetInventoryFun { INGAME.actorNowPlaying!!.inventory }
|
||||||
itemListUpdate()
|
itemListUpdate()
|
||||||
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun updateImpl(delta: Float) {
|
override fun updateImpl(delta: Float) {
|
||||||
@@ -436,8 +432,7 @@ class UISmelterBasic(val smelter: FixtureSmelterBasic) : UICanvas(
|
|||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
override fun endClosing(delta: Float) {
|
||||||
super.endClosing(delta)
|
super.endClosing(delta)
|
||||||
tooltipShowing.clear()
|
clearTooltip()
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
|
|||||||
@@ -4,19 +4,14 @@ import com.badlogic.gdx.graphics.Color
|
|||||||
import com.badlogic.gdx.graphics.OrthographicCamera
|
import com.badlogic.gdx.graphics.OrthographicCamera
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import net.torvald.terrarum.*
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.App.printdbg
|
|
||||||
import net.torvald.terrarum.gameactors.AVKey
|
|
||||||
import net.torvald.terrarum.gameitems.GameItem
|
import net.torvald.terrarum.gameitems.GameItem
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.getWidthOfCells
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.getWidthOfCells
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.*
|
||||||
import net.torvald.unicode.getKeycapPC
|
import net.torvald.unicode.getKeycapPC
|
||||||
import net.torvald.unicode.getMouseButton
|
import net.torvald.unicode.getMouseButton
|
||||||
import kotlin.math.max
|
|
||||||
import kotlin.math.min
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by minjaesong on 2019-07-08.
|
* Created by minjaesong on 2019-07-08.
|
||||||
@@ -190,9 +185,6 @@ internal class UIStorageChest : UICanvas(
|
|||||||
itemListPlayer.itemList.getInventory = { INGAME.actorNowPlaying!!.inventory }
|
itemListPlayer.itemList.getInventory = { INGAME.actorNowPlaying!!.inventory }
|
||||||
|
|
||||||
itemListUpdate()
|
itemListUpdate()
|
||||||
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun itemListUpdate() {
|
private fun itemListUpdate() {
|
||||||
@@ -313,17 +305,6 @@ internal class UIStorageChest : UICanvas(
|
|||||||
INGAME.setTooltipMessage(null)
|
INGAME.setTooltipMessage(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun endOpening(delta: Float) {
|
|
||||||
super.endOpening(delta)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
|
||||||
super.endClosing(delta)
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,15 +1,9 @@
|
|||||||
package net.torvald.terrarum.modulebasegame.ui
|
package net.torvald.terrarum.modulebasegame.ui
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Camera
|
|
||||||
import com.badlogic.gdx.graphics.Color
|
import com.badlogic.gdx.graphics.Color
|
||||||
import com.badlogic.gdx.graphics.OrthographicCamera
|
import com.badlogic.gdx.graphics.OrthographicCamera
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import net.torvald.terrarum.App
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.App.printdbg
|
|
||||||
import net.torvald.terrarum.INGAME
|
|
||||||
import net.torvald.terrarum.Second
|
|
||||||
import net.torvald.terrarum.Terrarum
|
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.ui.Toolkit
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
import net.torvald.terrarum.ui.UICanvas
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
import net.torvald.terrarum.ui.UINotControllable
|
import net.torvald.terrarum.ui.UINotControllable
|
||||||
@@ -105,11 +99,34 @@ class UITooltip : UICanvas() {
|
|||||||
override fun updateImpl(delta: Float) {
|
override fun updateImpl(delta: Float) {
|
||||||
setPosition(Terrarum.mouseScreenX, Terrarum.mouseScreenY)
|
setPosition(Terrarum.mouseScreenX, Terrarum.mouseScreenY)
|
||||||
|
|
||||||
if (isVisible && tooltipShowing.values.all { !it }) {
|
if (isVisible && (TooltipManager.tooltipShowing.isEmpty() || TooltipManager.tooltipShowing.values.all { !it })) {
|
||||||
INGAME.setTooltipMessage(null)
|
INGAME.setTooltipMessage(null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun endOpening(delta: Float) {
|
||||||
|
handler.opacity = 1f
|
||||||
|
// Tooltip must not acquire control of itself
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun endClosing(delta: Float) {
|
||||||
|
handler.opacity = 0f
|
||||||
|
// Tooltip must not acquire control of itself
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun show() {
|
||||||
|
openingClickLatched = true
|
||||||
|
// Tooltip must not acquire control of itself
|
||||||
|
uiItems.forEach { it.show() }
|
||||||
|
handler.subUIs.forEach { it.show() }
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun hide() {
|
||||||
|
uiItems.forEach { it.hide() }
|
||||||
|
handler.subUIs.forEach { it.hide() }
|
||||||
|
openingClickLatched = true // just in case `justOpened` detection fails
|
||||||
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package net.torvald.terrarum.modulebasegame.ui
|
package net.torvald.terrarum.modulebasegame.ui
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Camera
|
|
||||||
import com.badlogic.gdx.graphics.Color
|
import com.badlogic.gdx.graphics.Color
|
||||||
import com.badlogic.gdx.graphics.OrthographicCamera
|
import com.badlogic.gdx.graphics.OrthographicCamera
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
@@ -8,7 +7,6 @@ import net.torvald.terrarum.*
|
|||||||
import net.torvald.terrarum.gameworld.WorldTime
|
import net.torvald.terrarum.gameworld.WorldTime
|
||||||
import net.torvald.terrarum.gameworld.WorldTime.Companion.MONTH_LENGTH
|
import net.torvald.terrarum.gameworld.WorldTime.Companion.MONTH_LENGTH
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.ui.Toolkit
|
import net.torvald.terrarum.ui.Toolkit
|
||||||
import net.torvald.terrarum.ui.UICanvas
|
import net.torvald.terrarum.ui.UICanvas
|
||||||
import net.torvald.unicode.getKeycapPC
|
import net.torvald.unicode.getKeycapPC
|
||||||
@@ -358,25 +356,11 @@ class UIWallCalendar : UICanvas(
|
|||||||
override fun doOpening(delta: Float) {
|
override fun doOpening(delta: Float) {
|
||||||
super.doOpening(delta)
|
super.doOpening(delta)
|
||||||
INGAME.pause()
|
INGAME.pause()
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun doClosing(delta: Float) {
|
override fun doClosing(delta: Float) {
|
||||||
super.doClosing(delta)
|
super.doClosing(delta)
|
||||||
INGAME.resume()
|
INGAME.resume()
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun endOpening(delta: Float) {
|
|
||||||
super.endOpening(delta)
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
|
||||||
super.endClosing(delta)
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
package net.torvald.terrarum.modulebasegame.ui
|
package net.torvald.terrarum.modulebasegame.ui
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Camera
|
|
||||||
import com.badlogic.gdx.graphics.OrthographicCamera
|
import com.badlogic.gdx.graphics.OrthographicCamera
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import com.jme3.math.FastMath
|
import com.jme3.math.FastMath
|
||||||
import net.torvald.terrarum.*
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.gameactors.AVKey
|
import net.torvald.terrarum.gameactors.AVKey
|
||||||
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
|
||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureWorldPortal
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureWorldPortal
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
|
||||||
@@ -14,12 +12,11 @@ import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.YPOS_COR
|
|||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.drawBackground
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.drawBackground
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalHeight
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalHeight
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalWidth
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.internalWidth
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.serialise.toAscii85
|
import net.torvald.terrarum.serialise.toAscii85
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.*
|
||||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||||
import net.torvald.unicode.getKeycapPC
|
import net.torvald.unicode.getKeycapPC
|
||||||
import java.util.UUID
|
import java.util.*
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Structure:
|
* Structure:
|
||||||
@@ -186,15 +183,11 @@ class UIWorldPortal : UICanvas(
|
|||||||
override fun endOpening(delta: Float) {
|
override fun endOpening(delta: Float) {
|
||||||
super.endOpening(delta)
|
super.endOpening(delta)
|
||||||
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
|
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
override fun endClosing(delta: Float) {
|
||||||
super.endClosing(delta)
|
super.endClosing(delta)
|
||||||
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
|
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,11 +9,8 @@ import net.torvald.terrarum.gameitems.GameItem
|
|||||||
import net.torvald.terrarum.langpack.Lang
|
import net.torvald.terrarum.langpack.Lang
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.ui.*
|
import net.torvald.terrarum.ui.*
|
||||||
import net.torvald.unicode.getKeycapPC
|
import net.torvald.unicode.getKeycapPC
|
||||||
import kotlin.math.max
|
|
||||||
import kotlin.math.min
|
|
||||||
|
|
||||||
class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas(), HasInventory {
|
class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas(), HasInventory {
|
||||||
|
|
||||||
@@ -145,9 +142,6 @@ class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas(), HasInventory {
|
|||||||
itemListPlayer.getInventory = { INGAME.actorNowPlaying!!.inventory }
|
itemListPlayer.getInventory = { INGAME.actorNowPlaying!!.inventory }
|
||||||
|
|
||||||
itemListUpdate()
|
itemListUpdate()
|
||||||
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun itemListUpdate() {
|
private fun itemListUpdate() {
|
||||||
@@ -242,8 +236,6 @@ class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas(), HasInventory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
override fun endClosing(delta: Float) {
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import net.torvald.terrarum.langpack.Lang
|
|||||||
import net.torvald.terrarum.modulebasegame.gameactors.FixtureWorldPortal
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureWorldPortal
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVENTORY_CELLS_OFFSET_Y
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.getCellCountVertically
|
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.getCellCountVertically
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import net.torvald.terrarum.realestate.LandUtil.CHUNK_H
|
import net.torvald.terrarum.realestate.LandUtil.CHUNK_H
|
||||||
import net.torvald.terrarum.realestate.LandUtil.CHUNK_W
|
import net.torvald.terrarum.realestate.LandUtil.CHUNK_W
|
||||||
import net.torvald.terrarum.savegame.*
|
import net.torvald.terrarum.savegame.*
|
||||||
@@ -521,16 +520,6 @@ class UIWorldPortalListing(val full: UIWorldPortal) : UICanvas() {
|
|||||||
INGAME.setTooltipMessage(null)
|
INGAME.setTooltipMessage(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun endOpening(delta: Float) {
|
|
||||||
super.endOpening(delta)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun endClosing(delta: Float) {
|
|
||||||
super.endClosing(delta)
|
|
||||||
tooltipShowing.clear()
|
|
||||||
INGAME.setTooltipMessage(null) // required!
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.badlogic.gdx.utils.Disposable
|
|||||||
import net.torvald.terrarum.App
|
import net.torvald.terrarum.App
|
||||||
import net.torvald.terrarum.Second
|
import net.torvald.terrarum.Second
|
||||||
import net.torvald.terrarum.Terrarum
|
import net.torvald.terrarum.Terrarum
|
||||||
|
import net.torvald.terrarum.TooltipListener
|
||||||
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
@@ -63,7 +64,7 @@ abstract class UICanvas(
|
|||||||
// UI positions itself? (you must g.flush() yourself after the g.translate(Int, Int))
|
// UI positions itself? (you must g.flush() yourself after the g.translate(Int, Int))
|
||||||
customPositioning: Boolean = false, // mainly used by vital meter
|
customPositioning: Boolean = false, // mainly used by vital meter
|
||||||
doNotWarnConstant: Boolean = false
|
doNotWarnConstant: Boolean = false
|
||||||
): Disposable {
|
): TooltipListener(), Disposable {
|
||||||
|
|
||||||
internal var openingClickLatched = false
|
internal var openingClickLatched = false
|
||||||
|
|
||||||
@@ -136,6 +137,7 @@ abstract class UICanvas(
|
|||||||
/** A function that is run ONCE when the UI is requested to be opened; will work identical to [endOpening] if [openCloseTime] is zero */
|
/** A function that is run ONCE when the UI is requested to be opened; will work identical to [endOpening] if [openCloseTime] is zero */
|
||||||
open fun show() {
|
open fun show() {
|
||||||
openingClickLatched = true
|
openingClickLatched = true
|
||||||
|
clearTooltip()
|
||||||
uiItems.forEach { it.show() }
|
uiItems.forEach { it.show() }
|
||||||
handler.subUIs.forEach { it.show() }
|
handler.subUIs.forEach { it.show() }
|
||||||
}
|
}
|
||||||
@@ -183,6 +185,7 @@ abstract class UICanvas(
|
|||||||
*/
|
*/
|
||||||
open fun endOpening(delta: Float) {
|
open fun endOpening(delta: Float) {
|
||||||
handler.opacity = 1f
|
handler.opacity = 1f
|
||||||
|
clearTooltip()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -190,6 +193,7 @@ abstract class UICanvas(
|
|||||||
*/
|
*/
|
||||||
open fun endClosing(delta: Float) {
|
open fun endClosing(delta: Float) {
|
||||||
handler.opacity = 0f
|
handler.opacity = 0f
|
||||||
|
clearTooltip()
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract override fun dispose()
|
abstract override fun dispose()
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellBase
|
|||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.defaultInventoryCellTheme
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.defaultInventoryCellTheme
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.toItemCountText
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.toItemCountText
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -131,7 +130,7 @@ class UIItemInventoryElemSimple(
|
|||||||
|
|
||||||
|
|
||||||
// set tooltip accordingly
|
// set tooltip accordingly
|
||||||
if (tooltipShowing[tooltipHash] != true && mouseUp) {
|
if (!tooltipAcquired() && mouseUp) {
|
||||||
// printdbg(this, "calling INGAME.setTooltipMessage by $hash")
|
// printdbg(this, "calling INGAME.setTooltipMessage by $hash")
|
||||||
|
|
||||||
val grey = App.fontGame.toColorCode(11, 11, 11)
|
val grey = App.fontGame.toColorCode(11, 11, 11)
|
||||||
@@ -142,10 +141,7 @@ class UIItemInventoryElemSimple(
|
|||||||
|
|
||||||
val finalStr = if (descStr != null) "$nameStr\n$grey$descStr" else nameStr
|
val finalStr = if (descStr != null) "$nameStr\n$grey$descStr" else nameStr
|
||||||
|
|
||||||
INGAME.setTooltipMessage(finalStr)
|
acquireTooltip(finalStr)
|
||||||
|
|
||||||
tooltipShowing[tooltipHash] = true
|
|
||||||
// printdbg(this, tooltipShowing.entries)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -159,7 +155,7 @@ class UIItemInventoryElemSimple(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (item == null || !mouseUp) {
|
if (item == null || !mouseUp) {
|
||||||
tooltipShowing[tooltipHash] = false
|
releaseTooltip()
|
||||||
}
|
}
|
||||||
|
|
||||||
// see IFs above?
|
// see IFs above?
|
||||||
@@ -168,10 +164,10 @@ class UIItemInventoryElemSimple(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
tooltipShowing.remove(tooltipHash)
|
removeFromTooltipRecord()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun hide() {
|
override fun hide() {
|
||||||
tooltipShowing.remove(tooltipHash)
|
removeFromTooltipRecord()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,6 @@ import net.torvald.terrarum.modulebasegame.ui.InventoryCellColourTheme
|
|||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellBase
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellBase
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.toItemCountText
|
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.toItemCountText
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.tooltipShowing
|
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
/***
|
/***
|
||||||
@@ -159,7 +158,7 @@ class UIItemInventoryElemWide(
|
|||||||
|
|
||||||
|
|
||||||
// set tooltip accordingly
|
// set tooltip accordingly
|
||||||
if (tooltipShowing[tooltipHash] != true && item != null && mouseUp) {
|
if (!tooltipAcquired() && item != null && mouseUp) {
|
||||||
// printdbg(this, "calling INGAME.setTooltipMessage by $hash")
|
// printdbg(this, "calling INGAME.setTooltipMessage by $hash")
|
||||||
|
|
||||||
val grey = App.fontGame.toColorCode(11, 11, 11)
|
val grey = App.fontGame.toColorCode(11, 11, 11)
|
||||||
@@ -170,15 +169,12 @@ class UIItemInventoryElemWide(
|
|||||||
|
|
||||||
val finalStr = if (descStr != null) "$nameStr\n$grey$descStr" else nameStr
|
val finalStr = if (descStr != null) "$nameStr\n$grey$descStr" else nameStr
|
||||||
|
|
||||||
INGAME.setTooltipMessage(finalStr)
|
acquireTooltip(finalStr)
|
||||||
|
|
||||||
tooltipShowing[tooltipHash] = true
|
|
||||||
// printdbg(this, tooltipShowing.entries)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item == null || !mouseUp) {
|
if (item == null || !mouseUp) {
|
||||||
tooltipShowing[tooltipHash] = false
|
releaseTooltip()
|
||||||
}
|
}
|
||||||
|
|
||||||
// see IFs above?
|
// see IFs above?
|
||||||
@@ -186,10 +182,10 @@ class UIItemInventoryElemWide(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
tooltipShowing.remove(tooltipHash)
|
removeFromTooltipRecord()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun hide() {
|
override fun hide() {
|
||||||
tooltipShowing.remove(tooltipHash)
|
removeFromTooltipRecord()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package net.torvald.terrarum.ui
|
|||||||
import com.badlogic.gdx.graphics.OrthographicCamera
|
import com.badlogic.gdx.graphics.OrthographicCamera
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import com.badlogic.gdx.utils.Disposable
|
import com.badlogic.gdx.utils.Disposable
|
||||||
|
import net.torvald.terrarum.TooltipListener
|
||||||
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,7 +29,7 @@ abstract class UITemplate(val parent: UICanvas) : UIItemisable() {
|
|||||||
/**
|
/**
|
||||||
* Created by minjaesong on 2024-01-29.
|
* Created by minjaesong on 2024-01-29.
|
||||||
*/
|
*/
|
||||||
abstract class UIItemisable : Disposable {
|
abstract class UIItemisable : TooltipListener(), Disposable {
|
||||||
abstract fun update(delta: Float)
|
abstract fun update(delta: Float)
|
||||||
abstract fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera)
|
abstract fun render(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera)
|
||||||
open fun show() {}
|
open fun show() {}
|
||||||
|
|||||||
Reference in New Issue
Block a user