default ui open/close transition is now quick-fade

This commit is contained in:
minjaesong
2023-01-06 18:57:18 +09:00
parent 53dee515fe
commit 02bdb2a4fc
22 changed files with 141 additions and 246 deletions

View File

@@ -77,7 +77,6 @@ internal class UIStorageChest : UICanvas(
override var width = App.scr.width
override var height = App.scr.height
override var openCloseTime: Second = 0.0f
private val negotiator = object : InventoryTransactionNegotiator() {
override fun accept(player: FixtureInventory, fixture: FixtureInventory, item: GameItem, amount: Long) {
@@ -227,7 +226,7 @@ internal class UIStorageChest : UICanvas(
override fun renderUI(batch: SpriteBatch, camera: Camera) {
// background fill
UIInventoryFull.drawBackground(batch)
UIInventoryFull.drawBackground(batch, handler.opacity)
// UI items
batch.color = Color.WHITE

View File

@@ -33,7 +33,6 @@ class UICrafting(val full: UIInventoryFull) : UICanvas(), HasInventory {
override var width = App.scr.width
override var height = App.scr.height
override var openCloseTime: Second = 0.0f
private val itemListPlayer: UIItemInventoryItemGrid
private val itemListCraftable: UIItemCraftingCandidateGrid // might be changed to something else
@@ -515,21 +514,24 @@ class UICrafting(val full: UIInventoryFull) : UICanvas(), HasInventory {
}
override fun doOpening(delta: Float) {
super.doOpening(delta)
resetUI()
INGAME.setTooltipMessage(null)
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
INGAME.setTooltipMessage(null)
}
override fun endOpening(delta: Float) {
super.endOpening(delta)
UIItemInventoryItemGrid.tooltipShowing.clear()
INGAME.setTooltipMessage(null) // required!
}
override fun endClosing(delta: Float) {
super.endClosing(delta)
resetUI()
UIItemInventoryItemGrid.tooltipShowing.clear()
INGAME.setTooltipMessage(null) // required!

View File

@@ -18,7 +18,6 @@ class UIGraphicsControlPanel(remoCon: UIRemoCon?) : UICanvas() {
override var width = 400
override var height = 400
override var openCloseTime = 0f
private val spinnerWidth = 140
private val drawX = (Toolkit.drawWidth - width) / 2
@@ -141,26 +140,6 @@ class UIGraphicsControlPanel(remoCon: UIRemoCon?) : UICanvas() {
}
}
override fun show() {
super.show()
}
override fun hide() {
super.hide()
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
}
override fun dispose() {
}
}

View File

@@ -20,7 +20,6 @@ class UIIMEConfig(remoCon: UIRemoCon?) : UICanvas() {
override var width = 480
override var height = 600
override var openCloseTime = 0f
private val drawX = (Toolkit.drawWidth - width) / 2
@@ -208,18 +207,6 @@ class UIIMEConfig(remoCon: UIRemoCon?) : UICanvas() {
}
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
}
override fun dispose() {
}
}

View File

@@ -4,6 +4,7 @@ import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.*
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.CELLS_HOR
@@ -23,7 +24,6 @@ internal class UIInventoryCells(
override var width: Int = Toolkit.drawWidth
override var height: Int = App.scr.height
override var openCloseTime: Second = 0.0f
companion object {
val weightBarWidth = UIItemInventoryElemSimple.height * 2f + UIItemInventoryItemGrid.listGap
@@ -144,16 +144,9 @@ internal class UIInventoryCells(
INGAME.setTooltipMessage(null)
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
super.endClosing(delta)
UIItemInventoryItemGrid.tooltipShowing.clear()
INGAME.setTooltipMessage(null)
}

View File

@@ -27,7 +27,6 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
override var width: Int = Toolkit.drawWidth
override var height: Int = App.scr.height
override var openCloseTime = 0.0f
private val gameMenu = arrayOf(
"MENU_IO_SAVE_GAME",
@@ -300,18 +299,18 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
}
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
screen = 0
}
override fun endOpening(delta: Float) {
super.endOpening(delta)
INGAME.setTooltipMessage(null)
}
override fun endClosing(delta: Float) {
super.endClosing(delta)
screen = 0
UIItemInventoryItemGrid.tooltipShowing.clear()
INGAME.setTooltipMessage(null)

View File

@@ -4,6 +4,7 @@ import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import com.jme3.math.FastMath
import net.torvald.terrarum.*
import net.torvald.terrarum.App.*
import net.torvald.terrarum.langpack.Lang
@@ -29,7 +30,6 @@ class UIInventoryFull(
override var width: Int = Toolkit.drawWidth
override var height: Int = App.scr.height
override var openCloseTime: Second = 0.0f
companion object {
private var shapeRenderer: ShapeRenderer? = null
@@ -63,7 +63,10 @@ class UIInventoryFull(
val controlHelpHeight = App.fontGame.lineHeight
fun drawBackground(batch: SpriteBatch) {
private val gsta = Color(gradStartCol)
private val gend = Color(gradEndCol)
fun drawBackground(batch: SpriteBatch, opacity: Float) {
batch.end()
gdxBlendNormalStraightAlpha()
@@ -82,15 +85,17 @@ class UIInventoryFull(
val w = App.scr.wf * magn
val h = App.scr.hf * magn
gsta.a = 0.375f * opacity
gend.a = 0.4375f * opacity
shapeRenderer!!.inUse {
// shaperender starts at bottom-left!
it.rect(0f, gradTopStart, w, gradHeight, gradStartCol, gradStartCol, gradEndCol, gradEndCol)
it.rect(0f, gradBottomEnd, w, -gradHeight, gradStartCol, gradStartCol, gradEndCol, gradEndCol)
it.rect(0f, gradTopStart, w, gradHeight, gsta, gsta, gend, gend)
it.rect(0f, gradBottomEnd, w, -gradHeight, gsta, gsta, gend, gend)
it.rect(0f, gradTopStart + gradHeight, w, gradHeightFlat, gradEndCol, gradEndCol, gradEndCol, gradEndCol)
it.rect(0f, gradTopStart + gradHeight, w, gradHeightFlat, gend, gend, gend, gend)
it.rect(0f, 0f, w, gradTopStart, gradStartCol, gradStartCol, gradStartCol, gradStartCol)
it.rect(0f, h, w, -(h - gradBottomEnd), gradStartCol, gradStartCol, gradStartCol, gradStartCol)
it.rect(0f, 0f, w, gradTopStart, gsta, gsta, gsta, gsta)
it.rect(0f, h, w, -(h - gradBottomEnd), gsta, gsta, gsta, gsta)
}
batch.begin()
@@ -275,7 +280,7 @@ class UIInventoryFull(
override fun renderUI(batch: SpriteBatch, camera: Camera) {
drawBackground(batch)
drawBackground(batch, handler.opacity)
// UI items
catBar.render(batch, camera)
@@ -308,19 +313,28 @@ class UIInventoryFull(
}
override fun doOpening(delta: Float) {
super.doOpening(delta)
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
INGAME.pause()
INGAME.setTooltipMessage(null)
}
override fun doClosing(delta: Float) {
super.doClosing(delta)
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
INGAME.resume()
INGAME.setTooltipMessage(null)
}
override fun endOpening(delta: Float) {
super.endOpening(delta)
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
}
override fun endClosing(delta: Float) {
super.endClosing(delta)
transitionPanel.uis.forEach { it.opacity = FastMath.pow(opacity, 0.5f) }
INGAME.setTooltipMessage(null) // required!
// MinimapComposer.revalidateAll()

View File

@@ -20,7 +20,6 @@ class UIKeyboardControlPanel(remoCon: UIRemoCon?) : UICanvas() {
override var width = 480
override var height = 600
override var openCloseTime = 0f
private val drawX = (Toolkit.drawWidth - width) / 2
@@ -231,18 +230,6 @@ class UIKeyboardControlPanel(remoCon: UIRemoCon?) : UICanvas() {
return true
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
}
override fun dispose() {
}

View File

@@ -100,7 +100,7 @@ class UILoadDemoSavefiles(val remoCon: UIRemoCon) : UICanvas() {
override var height: Int
get() = App.scr.height
set(value) {}
override var openCloseTime: Second = 0f
override var openCloseTime: Second = OPENCLOSE_GENERIC
private val shapeRenderer = ShapeRenderer()
@@ -434,16 +434,8 @@ class UILoadDemoSavefiles(val remoCon: UIRemoCon) : UICanvas() {
return true
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
super.endClosing(delta)
listScroll = 0
scrollTarget = 0
uiScroll = 0f

View File

@@ -25,7 +25,6 @@ class UINewCharacter(val remoCon: UIRemoCon) : UICanvas() {
override var width = 480
override var height = 480
override var openCloseTime: Second = 0f
private val drawX = (Toolkit.drawWidth - width) / 2
private val drawY = (App.scr.height - height) / 2
@@ -117,18 +116,6 @@ class UINewCharacter(val remoCon: UIRemoCon) : UICanvas() {
uiItems.forEach { it.render(batch, camera) }
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
}
override fun dispose() {
}

View File

@@ -38,7 +38,6 @@ class UINewWorld(val remoCon: UIRemoCon) : UICanvas() {
override var width = 480
override var height = 480
override var openCloseTime: Second = 0f
private val drawX = (Toolkit.drawWidth - width) / 2
private val drawY = (App.scr.height - height) / 2
@@ -156,18 +155,6 @@ class UINewWorld(val remoCon: UIRemoCon) : UICanvas() {
uiItems.forEach { it.render(batch, camera) }
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
}
override fun dispose() {
hugeTex.texture.dispose()
largeTex.texture.dispose()

View File

@@ -144,23 +144,6 @@ class UIQuickslotBar : UICanvas() {
}
override fun doOpening(delta: Float) {
handler.opacity = handler.openCloseCounter / openCloseTime
}
override fun doClosing(delta: Float) {
handler.opacity = (openCloseTime - handler.openCloseCounter) / openCloseTime
}
override fun endOpening(delta: Float) {
handler.opacity = 1f
}
override fun endClosing(delta: Float) {
handler.opacity = 0f
}
override fun dispose() {
}

View File

@@ -18,8 +18,6 @@ class UITitleLanguage(remoCon: UIRemoCon?) : UICanvas() {
)
override var openCloseTime: Second = 0f
private val textButtonLineHeight = 32
@@ -120,17 +118,6 @@ class UITitleLanguage(remoCon: UIRemoCon?) : UICanvas() {
initialMouseBlock = true
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
}
override fun dispose() {
}

View File

@@ -29,7 +29,6 @@ class UITitleModules(val remoCon: UIRemoCon) : UICanvas() {
override var height: Int
get() = App.scr.height
set(value) {}
override var openCloseTime: Second = 0f
@@ -236,16 +235,9 @@ class UITitleModules(val remoCon: UIRemoCon) : UICanvas() {
}
return true
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
super.endClosing(delta)
listScroll = 0
scrollTarget = 0
uiScroll = 0f

View File

@@ -11,8 +11,6 @@ import net.torvald.terrarum.ui.UIItemTextArea
open class UITitleWallOfText(private val text: List<String>) : UICanvas() {
override var openCloseTime: Second = 0f
private val textAreaHMargin = 48
override var width = 600
@@ -40,18 +38,6 @@ open class UITitleWallOfText(private val text: List<String>) : UICanvas() {
//AppLoader.printdbg(this, "Rendering texts of length ${text.size}")
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
}
override fun dispose() {
}
}