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
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

View File

@@ -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
}
}

View File

@@ -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)
}
}

View File

@@ -29,7 +29,7 @@ object PlayerBuilderTestSubject1 {
p.setPosition(3.0 * FeaturesDrawer.TILE_SIZE, 3.0 * FeaturesDrawer.TILE_SIZE)
PlayerBuilderSigrid.fillTestInventory(p.inventory)
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.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) {