fixed a bug where text buttons won't respond immediately/esc menu text button to unintentionally "click" the newly-appeared button (ESC -> Return to Main Menu -> Cancel -> Return to ... )

This commit is contained in:
minjaesong
2021-09-17 23:52:10 +09:00
parent 575ed4410b
commit e22518530d
4 changed files with 34 additions and 26 deletions

View File

@@ -71,6 +71,7 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
)
private val savingUI = UIItemSaving(this, (width - UIItemSaving.WIDTH) / 2, (height - UIItemSaving.HEIGHT) / 2)
private var oldScreen = 0
private var screen = 0
init {
@@ -120,20 +121,11 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
}
}
private val screenUpdates = arrayOf(
{ delta: Float ->
gameMenuButtons.update(delta)
},
{ delta: Float ->
areYouSureQuitButtons.update(delta)
},
{ delta: Float ->
areYouSureMainMenuButtons.update(delta)
},
{ delta: Float ->
savingUI.update(delta)
}
private val screens = arrayOf(
gameMenuButtons, areYouSureQuitButtons, areYouSureMainMenuButtons, savingUI
)
private val screenRenders = arrayOf(
{ batch: SpriteBatch, camera: Camera ->
// control hints
@@ -161,7 +153,11 @@ class UIInventoryEscMenu(val full: UIInventoryFull) : UICanvas() {
override fun updateUI(delta: Float) {
screenUpdates[screen](delta)
if (oldScreen != screen) {
screens[screen].show()
oldScreen = screen
}
screens[screen].update(delta)
}
override fun renderUI(batch: SpriteBatch, camera: Camera) {