mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-17 05:54:05 +09:00
tooltipmanager
This commit is contained in:
@@ -6,6 +6,7 @@ import net.torvald.terrarum.App.printdbg
|
||||
import net.torvald.terrarum.App.printdbgerr
|
||||
import net.torvald.terrarum.INGAME
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.TooltipListener
|
||||
import net.torvald.terrarum.audio.AudioBank
|
||||
import net.torvald.terrarum.audio.audiobank.MusicContainer
|
||||
import net.torvald.terrarum.audio.TerrarumAudioMixerTrack
|
||||
@@ -27,7 +28,7 @@ typealias ActorID = Int
|
||||
*
|
||||
* 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.
|
||||
@@ -42,7 +43,6 @@ abstract class Actor : Comparable<Actor>, Runnable {
|
||||
*/
|
||||
var renderOrder = RenderOrder.MIDDLE
|
||||
|
||||
protected constructor()
|
||||
|
||||
// needs zero-arg constructor for serialiser to work
|
||||
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.IngamePlayer
|
||||
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.worlddrawer.CreateTileAtlas
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera
|
||||
@@ -98,8 +97,6 @@ open class ActorWithBody : Actor {
|
||||
val mouseUp: Boolean
|
||||
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
|
||||
protected set
|
||||
var hitboxTranslateY: Int = 0// relative to spritePosY
|
||||
@@ -702,14 +699,13 @@ open class ActorWithBody : Actor {
|
||||
else submergedHeight / hitbox.height
|
||||
|
||||
|
||||
if (mouseUp && tooltipText != null && tooltipShowing[tooltipHash] != true) {
|
||||
INGAME.setTooltipMessage(tooltipText)
|
||||
tooltipShowing[tooltipHash] = true
|
||||
if (mouseUp && tooltipText != null && !tooltipAcquired()) {
|
||||
acquireTooltip(tooltipText)
|
||||
}
|
||||
}
|
||||
|
||||
if (tooltipText == null || !mouseUp || flagDespawn) {
|
||||
tooltipShowing[tooltipHash] = false
|
||||
releaseTooltip()
|
||||
}
|
||||
|
||||
// isStationary = (hitbox - oldHitbox).magnitudeSquared < PHYS_EPSILON_VELO
|
||||
@@ -1980,7 +1976,7 @@ open class ActorWithBody : Actor {
|
||||
|
||||
internal open fun flagDespawn() {
|
||||
flagDespawn = true
|
||||
tooltipShowing.remove(tooltipHash)
|
||||
removeFromTooltipRecord()
|
||||
}
|
||||
|
||||
open fun getSpriteHead(): TextureRegion? {
|
||||
@@ -2316,7 +2312,7 @@ open class ActorWithBody : Actor {
|
||||
App.disposables.add(sprite)
|
||||
App.disposables.add(spriteGlow)
|
||||
App.disposables.add(spriteEmissive)
|
||||
tooltipShowing.remove(tooltipHash)
|
||||
removeFromTooltipRecord()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user