yet another tooltip stuffs

This commit is contained in:
minjaesong
2024-10-12 11:26:29 +09:00
parent 66c2ffa598
commit dbb0c60976
24 changed files with 53 additions and 82 deletions

View File

@@ -1703,6 +1703,7 @@ open class TerrarumIngame(batch: FlippingSpriteBatch) : IngameInstance(batch) {
val fixtureItem = fixture.itemise()
printdbg(this, "Fixture pickup at F${WORLD_UPDATE_TIMER}: ${fixture.javaClass.canonicalName} -> $fixtureItem")
// 0. hide tooltips
TooltipManager.tooltipShowing.clear()
setTooltipMessage(null)
if (!fixture.flagDespawn) {
// 1. put the fixture to the inventory

View File

@@ -304,7 +304,7 @@ class AxeCopper(originalID: ItemID) : GameItem(originalID) {
if (AxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = AxeCore.endPrimaryUse(actor, this)
// override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = AxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}
/**
@@ -334,7 +334,7 @@ class AxeIron(originalID: ItemID) : GameItem(originalID) {
if (AxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = AxeCore.endPrimaryUse(actor, this)
// override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = AxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}
/**
@@ -364,7 +364,7 @@ class AxeSteel(originalID: ItemID) : GameItem(originalID) {
if (AxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = AxeCore.endPrimaryUse(actor, this)
// override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = AxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}
/**
@@ -394,7 +394,7 @@ class AxeWood(originalID: ItemID) : GameItem(originalID) {
if (AxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = AxeCore.endPrimaryUse(actor, this)
// override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = AxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}
/**
@@ -424,6 +424,6 @@ class AxeStone(originalID: ItemID) : GameItem(originalID) {
if (AxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = AxeCore.endPrimaryUse(actor, this)
// override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = AxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}

View File

@@ -307,7 +307,7 @@ class PickaxeCopper(originalID: ItemID) : GameItem(originalID) {
if (PickaxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = PickaxeCore.endPrimaryUse(actor, this)
override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = PickaxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}
@@ -338,7 +338,7 @@ class PickaxeIron(originalID: ItemID) : GameItem(originalID) {
if (PickaxeCore.startPrimaryUse(actor , delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = PickaxeCore.endPrimaryUse(actor, this)
override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = PickaxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}
@@ -369,7 +369,7 @@ class PickaxeSteel(originalID: ItemID) : GameItem(originalID) {
if (PickaxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = PickaxeCore.endPrimaryUse(actor, this)
override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = PickaxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}
@@ -400,7 +400,7 @@ class PickaxeWood(originalID: ItemID) : GameItem(originalID) {
if (PickaxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = PickaxeCore.endPrimaryUse(actor, this)
override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = PickaxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}
@@ -431,6 +431,6 @@ class PickaxeStone(originalID: ItemID) : GameItem(originalID) {
if (PickaxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L
override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = PickaxeCore.endPrimaryUse(actor, this)
override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = PickaxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY)
override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) }
override fun effectOnUnequip(actor: ActorWithBody) { clearTooltip() }
}

View File

@@ -71,7 +71,6 @@ class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) {
override fun effectOnUnequip(actor: ActorWithBody) {
(Terrarum.ingame!! as TerrarumIngame).selectedWireRenderClass = ""
(Terrarum.ingame!! as TerrarumIngame).setTooltipMessage(null)
blockMarker.hideMarker()
removeFromTooltipRecord()
}

View File

@@ -431,22 +431,13 @@ class UIAlloyingFurnace(val smelter: FixtureAlloyingFurnace) : UICanvas(
override fun doOpening(delta: Float) {
super.doOpening(delta)
INGAME.disablePlayerControl()
INGAME.setTooltipMessage(null)
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
INGAME.resumePlayerControl()
INGAME.setTooltipMessage(null)
}
override fun endOpening(delta: Float) {
super.endOpening(delta)
}
override fun endClosing(delta: Float) {
super.endClosing(delta)
}
override fun dispose() {
}

View File

@@ -504,16 +504,12 @@ class UICraftingWorkbench(val inventoryUI: UIInventoryFull?, val parentContainer
override fun doOpening(delta: Float) {
super.doOpening(delta)
INGAME.setTooltipMessage(null)
clearTooltip()
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
INGAME.setTooltipMessage(null)
}
override fun endOpening(delta: Float) {
super.endOpening(delta)
clearTooltip()
}
override fun endClosing(delta: Float) {

View File

@@ -271,13 +271,11 @@ class UIEngravingTextSign : UICanvas(
override fun doOpening(delta: Float) {
super.doOpening(delta)
INGAME.setTooltipMessage(null)
INGAME.pause()
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
INGAME.setTooltipMessage(null)
INGAME.resume()
}

View File

@@ -155,6 +155,10 @@ internal class UIInventoryCells(
}
}
override fun endOpening(delta: Float) {
handler.opacity = 1f
}
override fun renderImpl(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) {
//itemList.posX = itemList.initialX + inventoryScrOffX.roundToInt()
itemList.render(frameDelta, batch, camera)

View File

@@ -357,15 +357,6 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
}
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
}
override fun endOpening(delta: Float) {
super.endOpening(delta)
INGAME.setTooltipMessage(null)
}
override fun endClosing(delta: Float) {
super.endClosing(delta)
screen = 0

View File

@@ -312,14 +312,14 @@ class UIInventoryFull(
}
fun openGamemenu(it: UIHandler) {
INGAME.setTooltipMessage(null)
clearTooltip()
transitionPanel.forcePosition(2)
catBar.setSelectedPanel(2)
it.setAsOpen()
}
fun openCrafting(it: UIHandler) {
INGAME.setTooltipMessage(null)
clearTooltip()
transitionPanel.forcePosition(0)
catBar.setSelectedPanel(0)
transitionalCraftingUI.resetUI()
@@ -352,8 +352,6 @@ class UIInventoryFull(
// UI items
catBar.render(frameDelta, batch, camera)
transitionPanel.render(frameDelta, batch, camera)
// if (transitionPanel.currentPosition != 1f) INGAME.setTooltipMessage(null)
}
fun rebuildList() {
@@ -383,7 +381,6 @@ class UIInventoryFull(
super.doOpening(delta)
transitionPanel.allUIs.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
INGAME.pause()
INGAME.setTooltipMessage(null)
App.audioMixer.requestLowpassIn(0.25)
App.audioMixer.requestFadeOut(App.audioMixer.fadeBus, 0.25, decibelsToFullscale(-3.0))
@@ -395,7 +392,6 @@ class UIInventoryFull(
super.doClosing(delta)
transitionPanel.allUIs.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
INGAME.resume()
INGAME.setTooltipMessage(null)
if (shouldIFadeIn == null) {
shouldIFadeIn = (App.audioMixer.fadeBus.getFilter<Lowpass>().cutoff < SAMPLING_RATE / 2)
@@ -417,7 +413,6 @@ class UIInventoryFull(
override fun endClosing(delta: Float) {
super.endClosing(delta)
transitionPanel.allUIs.forEach { it.opacity = 0f }
INGAME.setTooltipMessage(null) // required!
// MinimapComposer.revalidateAll()
shouldIFadeIn = null

View File

@@ -247,7 +247,6 @@ class UIInventoryMinimap(val full: UIInventoryFull) : UICanvas() {
}
override fun show() {
INGAME.setTooltipMessage(null)
}
override fun doOpening(delta: Float) {}

View File

@@ -99,20 +99,14 @@ class UIJukebox : UICanvas(
private val yEnd = -UIInventoryFull.YPOS_CORRECTION + (App.scr.height + UIInventoryFull.internalHeight).div(2).toFloat()
override fun touchDown(screenX: Int, screenY: Int, pointer: Int, button: Int): Boolean {
return super.touchDown(screenX, screenY, pointer, button)
}
override fun doOpening(delta: Float) {
super.doOpening(delta)
INGAME.disablePlayerControl()
INGAME.setTooltipMessage(null)
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
INGAME.resumePlayerControl()
INGAME.setTooltipMessage(null)
}
override fun dispose() {

View File

@@ -417,22 +417,11 @@ class UISmelterBasic(val smelter: FixtureSmelterBasic) : UICanvas(
override fun doOpening(delta: Float) {
super.doOpening(delta)
INGAME.disablePlayerControl()
INGAME.setTooltipMessage(null)
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
INGAME.resumePlayerControl()
INGAME.setTooltipMessage(null)
}
override fun endOpening(delta: Float) {
super.endOpening(delta)
}
override fun endClosing(delta: Float) {
super.endClosing(delta)
clearTooltip()
}
override fun dispose() {

View File

@@ -296,13 +296,11 @@ internal class UIStorageChest : UICanvas(
override fun doOpening(delta: Float) {
super.doOpening(delta)
INGAME.pause()
INGAME.setTooltipMessage(null)
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
INGAME.resume()
INGAME.setTooltipMessage(null)
}
override fun dispose() {

View File

@@ -104,6 +104,14 @@ class UITooltip : UICanvas() {
}
}
override fun doOpening(delta: Float) {
handler.opacity = handler.openCloseCounter / openCloseTime
}
override fun doClosing(delta: Float) {
handler.opacity = (openCloseTime - handler.openCloseCounter) / openCloseTime
}
override fun endOpening(delta: Float) {
handler.opacity = 1f
// Tooltip must not acquire control of itself

View File

@@ -155,7 +155,6 @@ class UIWorldPortal : UICanvas(
override fun show() {
transitionPanel.forcePosition(0)
super.show()
INGAME.setTooltipMessage(null)
// add current world to the player's worldportaldict
addWorldToPlayersDict(INGAME.world.worldIndex)
@@ -170,14 +169,12 @@ class UIWorldPortal : UICanvas(
super.doOpening(delta)
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
INGAME.pause()
INGAME.setTooltipMessage(null)
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
INGAME.resume()
INGAME.setTooltipMessage(null)
}
override fun endOpening(delta: Float) {

View File

@@ -224,12 +224,12 @@ class UIWorldPortalCargo(val full: UIWorldPortal) : UICanvas(), HasInventory {
override fun doOpening(delta: Float) {
INGAME.pause()
INGAME.setTooltipMessage(null)
clearTooltip()
}
override fun doClosing(delta: Float) {
INGAME.resume()
INGAME.setTooltipMessage(null)
clearTooltip()
}
override fun endOpening(delta: Float) {

View File

@@ -353,7 +353,10 @@ class UIWorldPortalListing(val full: UIWorldPortal) : UICanvas() {
if (::worldCells.isInitialized) worldCells.forEach { it.update(delta) }
if (currentWorldSelected) {
INGAME.setTooltipMessage(if (buttonTeleport.mouseUp || buttonDelete.mouseUp) Lang["CONTEXT_THIS_IS_A_WORLD_CURRENTLY_PLAYING"] else null)
if (buttonTeleport.mouseUp || buttonDelete.mouseUp)
acquireTooltip(Lang["CONTEXT_THIS_IS_A_WORLD_CURRENTLY_PLAYING"])
else
releaseTooltip()
}
if (showSpinner) {
@@ -511,13 +514,13 @@ class UIWorldPortalListing(val full: UIWorldPortal) : UICanvas() {
override fun doOpening(delta: Float) {
super.doOpening(delta)
INGAME.pause()
INGAME.setTooltipMessage(null)
clearTooltip()
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
INGAME.resume()
INGAME.setTooltipMessage(null)
clearTooltip()
}
}