fix: textbuttonlist selector appearance bug, nsmenu not closing its child

This commit is contained in:
Minjae Song
2018-12-11 02:22:31 +09:00
parent 7fb403c4bc
commit 6e2809404a
2 changed files with 15 additions and 11 deletions

View File

@@ -169,8 +169,8 @@ class UIItemTextButtonList(
val oldIndex = selectedIndex
if (kinematic) {
highlighterYStart = buttons[selectedIndex!!].posY.toDouble()
selectedIndex = index
highlighterYStart = buttons[selectedIndex!!].posY.toDouble()
highlighterMoving = true
highlighterYEnd = buttons[selectedIndex!!].posY.toDouble()
}
@@ -195,7 +195,7 @@ class UIItemTextButtonList(
batch.color = highlightBackCol
BlendMode.resolve(highlightBackBlendMode, batch)
if (highlightY != null) {
batch.fillRect(posX.toFloat(), highlightY!!.toFloat(), width.toFloat(), UIItemTextButton.height.toFloat())
batch.fillRect(posX.toFloat(), highlightY!!.toFloat(), width.toFloat(), itemHitboxSize.toFloat())
}
buttons.forEach { it.render(batch, camera) }

View File

@@ -78,16 +78,20 @@ class UINSMenu(
// List selection change listener
list.selectionChangeListener = { old, new ->
// if the selection has a child...
//println("new sel: ${tree.children[new]}")
// 1. pop as far as possible
// 2. push the new menu
// 1. pop as far as possible
while (listStack.peek().list != list) {
popSubMenu()
}
// 2. push the new menu
if (tree.children[new].children.isNotEmpty()) {
// 1. pop as far as possible
// 2. push the new menu
// 1. pop as far as possible
while (listStack.peek().list != list) {
popSubMenu()
}
// 2. push the new menu
addSubMenu(tree.children[new])
}
}