turns out uiitemtextbuttonlist colouring bug was because of the gamefont

This commit is contained in:
minjaesong
2021-09-13 01:20:16 +09:00
parent 921d47c465
commit a9eb67ab61
4 changed files with 32 additions and 9 deletions

Binary file not shown.

View File

@@ -76,20 +76,31 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
gameMenuButtons.selectionChangeListener = { _, new ->
when (new) {
4 -> screen = 2
5 -> screen = 1
4 -> {
screen = 2; gameMenuButtons.deselect()
}
5 -> {
screen = 1; gameMenuButtons.deselect()
}
}
}
areYouSureMainMenuButtons.selectionChangeListener = { _, new ->
when (new) {
1 -> App.setScreen(TitleScreen(App.batch))
2 -> screen = 0
1 -> {
areYouSureMainMenuButtons.deselect()
App.setScreen(TitleScreen(App.batch))
}
2 -> {
screen = 0; areYouSureMainMenuButtons.deselect()
}
}
}
areYouSureQuitButtons.selectionChangeListener = { _, new ->
when (new) {
1 -> Gdx.app.exit()
2 -> screen = 0
2 -> {
screen = 0; areYouSureQuitButtons.deselect()
}
}
}
}

View File

@@ -6,7 +6,6 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.App
import net.torvald.terrarum.BlendMode
import net.torvald.terrarum.blendNormal
import net.torvald.terrarum.fillRect
import net.torvald.terrarum.langpack.Lang
/**
@@ -69,12 +68,18 @@ open class UIItemTextButton(
var highlighted: Boolean = false
override fun update(delta: Float) {
super.update(delta)
}
override fun render(batch: SpriteBatch, camera: Camera) {
val textW = font.getWidth(label)
// draw background
if (highlighted) {
/*if (highlighted) {
BlendMode.resolve(highlightBackBlendMode, batch)
batch.color = highlightBackCol
batch.fillRect(posX.toFloat(), posY.toFloat(), width.toFloat(), height.toFloat())
@@ -88,7 +93,7 @@ open class UIItemTextButton(
batch.color = backgroundCol
BlendMode.resolve(backgroundBlendMode, batch)
batch.fillRect(posX.toFloat(), posY.toFloat(), width.toFloat(), height.toFloat())
}
}*/
blendNormal(batch)
@@ -99,7 +104,8 @@ open class UIItemTextButton(
else inactiveCol
font.draw(batch,
label, //"$label/H:${highlighted.toInt()}, M:${mouseUp.toInt()}",
label,
// "$label/H:${highlighted.toInt()}, M:${mouseUp.toInt()}",
when (alignment) {
Alignment.CENTRE -> posX.toFloat() + width.minus(textW).div(2) + (preGapX - postGapX).div(2)
Alignment.LEFT -> posX.toFloat() + preGapX

View File

@@ -242,10 +242,16 @@ class UIItemTextButtonList(
fun select(index: Int) {
selectedIndex = index
buttons.forEachIndexed { index, btn ->
btn.highlighted = (index == selectedIndex) // forcibly highlight if this.highlighted != null
}
}
fun deselect() {
selectedIndex = null
buttons.forEachIndexed { index, btn ->
btn.highlighted = false
}
}
override fun dispose() {