mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 20:31:51 +09:00
tooltip positioning should work again
This commit is contained in:
@@ -86,7 +86,7 @@ object Terrarum : Screen {
|
||||
*/
|
||||
val TARGET_INTERNAL_FPS: Double = 60.0
|
||||
|
||||
internal val UPDATE_CATCHUP_MAX_TRIES = 4
|
||||
internal val UPDATE_CATCHUP_MAX_TRIES = 2 // this feature does more harm than good...
|
||||
|
||||
|
||||
|
||||
@@ -324,7 +324,6 @@ object Terrarum : Screen {
|
||||
shapeRender = ShapeRenderer()
|
||||
|
||||
|
||||
//fontGame = GameFontBase("assets/graphics/fonts/terrarum-sans-bitmap", flipY = true)
|
||||
fontSmallNumbers = TinyAlphNum
|
||||
|
||||
|
||||
|
||||
@@ -480,7 +480,7 @@ open class Ingame(batch: SpriteBatch) : IngameInstance(batch) {
|
||||
updateTries++
|
||||
|
||||
if (updateTries >= Terrarum.UPDATE_CATCHUP_MAX_TRIES) {
|
||||
printdbg(this, "Update couldn't catch up -- delta-T buildup was $oldDeltaCtr seconds")
|
||||
//printdbg(this, "Update couldn't catch up -- delta-T buildup was $oldDeltaCtr seconds")
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,13 @@ object PlayerBuilderSigrid {
|
||||
|
||||
|
||||
// Test fill up inventory
|
||||
fillTestInventory(p.inventory)
|
||||
|
||||
|
||||
return p
|
||||
}
|
||||
|
||||
fun fillTestInventory(inventory: ActorInventory) {
|
||||
val blocks = arrayOf(
|
||||
Block.AIR, Block.DIRT, Block.GLASS_CRUDE,
|
||||
Block.GRASS, Block.GRAVEL, Block.ICE_MAGICAL, Block.LANTERN,
|
||||
@@ -88,14 +95,9 @@ object PlayerBuilderSigrid {
|
||||
Block.SANDSTONE_RED, Block.STONE, Block.STONE_BRICKS,
|
||||
Block.STONE_QUARRIED, Block.STONE_TILE_WHITE
|
||||
)
|
||||
blocks.forEach { p.addItem(it, 999) }
|
||||
walls.forEach { p.addItem(it + 4096, 999) }
|
||||
p.inventory.add(ItemCodex.ITEM_STATIC.first)
|
||||
p.inventory.add(9000)
|
||||
|
||||
|
||||
|
||||
|
||||
return p
|
||||
blocks.forEach { inventory.add(it, 9995) }
|
||||
walls.forEach { inventory.add(it + 4096, 9995) }
|
||||
inventory.add(ItemCodex.ITEM_STATIC.first)
|
||||
inventory.add(9000)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ object PlayerBuilderTestSubject1 {
|
||||
p.setPosition(3.0 * FeaturesDrawer.TILE_SIZE, 3.0 * FeaturesDrawer.TILE_SIZE)
|
||||
|
||||
|
||||
|
||||
PlayerBuilderSigrid.fillTestInventory(p.inventory)
|
||||
|
||||
|
||||
return p
|
||||
|
||||
@@ -4,8 +4,8 @@ import com.badlogic.gdx.graphics.Camera
|
||||
import com.badlogic.gdx.graphics.Color
|
||||
import com.badlogic.gdx.graphics.Texture
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.Second
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.ui.UICanvas
|
||||
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
|
||||
|
||||
@@ -17,15 +17,20 @@ class UITooltip : UICanvas() {
|
||||
override var openCloseTime: Second = 0f
|
||||
|
||||
var message: String = ""
|
||||
set(value) {
|
||||
field = value
|
||||
msgWidth = font.getWidth(value)
|
||||
}
|
||||
|
||||
private val textures = TextureRegionPack("assets/graphics/gui/tooltip_black.tga", 8, 36)
|
||||
|
||||
private val font = Terrarum.fontGame
|
||||
private var msgWidth = 0
|
||||
|
||||
val textMarginX = 4
|
||||
|
||||
override var width: Int
|
||||
get() = font.getWidth(message) + (textMarginX + textures.tileW) * 2
|
||||
get() = msgWidth + (textMarginX + textures.tileW) * 2
|
||||
set(value) { throw Error("You are not supposed to set the width of the tooltip manually.") }
|
||||
override var height: Int
|
||||
get() = textures.tileH
|
||||
@@ -42,7 +47,7 @@ class UITooltip : UICanvas() {
|
||||
|
||||
val tooltipY = mouseY - textures.tileH
|
||||
|
||||
val txtW = font.getWidth(message) + 2f * textMarginX
|
||||
val txtW = msgWidth + 2f * textMarginX
|
||||
|
||||
batch.color = Color.WHITE
|
||||
batch.draw(textures.get(0, 0), mouseX, tooltipY)
|
||||
@@ -52,6 +57,7 @@ class UITooltip : UICanvas() {
|
||||
}
|
||||
|
||||
override fun updateUI(delta: Float) {
|
||||
setPosition(Terrarum.mouseScreenX, Terrarum.mouseScreenY)
|
||||
}
|
||||
|
||||
override fun doOpening(delta: Float) {
|
||||
|
||||
Reference in New Issue
Block a user