tooltip positioning should work again

This commit is contained in:
minjaesong
2019-01-11 03:06:02 +09:00
parent ba9236d11e
commit f6ebb14861
5 changed files with 23 additions and 16 deletions

View File

@@ -86,7 +86,7 @@ object Terrarum : Screen {
*/ */
val TARGET_INTERNAL_FPS: Double = 60.0 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() shapeRender = ShapeRenderer()
//fontGame = GameFontBase("assets/graphics/fonts/terrarum-sans-bitmap", flipY = true)
fontSmallNumbers = TinyAlphNum fontSmallNumbers = TinyAlphNum

View File

@@ -480,7 +480,7 @@ open class Ingame(batch: SpriteBatch) : IngameInstance(batch) {
updateTries++ updateTries++
if (updateTries >= Terrarum.UPDATE_CATCHUP_MAX_TRIES) { 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 break
} }
} }

View File

@@ -67,6 +67,13 @@ object PlayerBuilderSigrid {
// Test fill up inventory // Test fill up inventory
fillTestInventory(p.inventory)
return p
}
fun fillTestInventory(inventory: ActorInventory) {
val blocks = arrayOf( val blocks = arrayOf(
Block.AIR, Block.DIRT, Block.GLASS_CRUDE, Block.AIR, Block.DIRT, Block.GLASS_CRUDE,
Block.GRASS, Block.GRAVEL, Block.ICE_MAGICAL, Block.LANTERN, Block.GRASS, Block.GRAVEL, Block.ICE_MAGICAL, Block.LANTERN,
@@ -88,14 +95,9 @@ object PlayerBuilderSigrid {
Block.SANDSTONE_RED, Block.STONE, Block.STONE_BRICKS, Block.SANDSTONE_RED, Block.STONE, Block.STONE_BRICKS,
Block.STONE_QUARRIED, Block.STONE_TILE_WHITE Block.STONE_QUARRIED, Block.STONE_TILE_WHITE
) )
blocks.forEach { p.addItem(it, 999) } blocks.forEach { inventory.add(it, 9995) }
walls.forEach { p.addItem(it + 4096, 999) } walls.forEach { inventory.add(it + 4096, 9995) }
p.inventory.add(ItemCodex.ITEM_STATIC.first) inventory.add(ItemCodex.ITEM_STATIC.first)
p.inventory.add(9000) inventory.add(9000)
return p
} }
} }

View File

@@ -29,7 +29,7 @@ object PlayerBuilderTestSubject1 {
p.setPosition(3.0 * FeaturesDrawer.TILE_SIZE, 3.0 * FeaturesDrawer.TILE_SIZE) p.setPosition(3.0 * FeaturesDrawer.TILE_SIZE, 3.0 * FeaturesDrawer.TILE_SIZE)
PlayerBuilderSigrid.fillTestInventory(p.inventory)
return p return p

View File

@@ -4,8 +4,8 @@ import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Texture import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.Second import net.torvald.terrarum.Second
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.ui.UICanvas import net.torvald.terrarum.ui.UICanvas
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
@@ -17,15 +17,20 @@ class UITooltip : UICanvas() {
override var openCloseTime: Second = 0f override var openCloseTime: Second = 0f
var message: String = "" 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 textures = TextureRegionPack("assets/graphics/gui/tooltip_black.tga", 8, 36)
private val font = Terrarum.fontGame private val font = Terrarum.fontGame
private var msgWidth = 0
val textMarginX = 4 val textMarginX = 4
override var width: Int 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.") } set(value) { throw Error("You are not supposed to set the width of the tooltip manually.") }
override var height: Int override var height: Int
get() = textures.tileH get() = textures.tileH
@@ -42,7 +47,7 @@ class UITooltip : UICanvas() {
val tooltipY = mouseY - textures.tileH val tooltipY = mouseY - textures.tileH
val txtW = font.getWidth(message) + 2f * textMarginX val txtW = msgWidth + 2f * textMarginX
batch.color = Color.WHITE batch.color = Color.WHITE
batch.draw(textures.get(0, 0), mouseX, tooltipY) batch.draw(textures.get(0, 0), mouseX, tooltipY)
@@ -52,6 +57,7 @@ class UITooltip : UICanvas() {
} }
override fun updateUI(delta: Float) { override fun updateUI(delta: Float) {
setPosition(Terrarum.mouseScreenX, Terrarum.mouseScreenY)
} }
override fun doOpening(delta: Float) { override fun doOpening(delta: Float) {