From 07675214417607b23371c9141620dab904f32de1 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Thu, 13 Jul 2023 16:34:01 +0900 Subject: [PATCH] uiloadmanage: going back to list will reset the list scroll --- src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt | 6 ++++++ src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt | 1 + .../torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt index a99917199..f4e4c54b2 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadList.kt @@ -291,6 +291,12 @@ class UILoadList(val full: UILoadSavegame) : UICanvas() { return true } + internal fun resetScroll() { + scrollFrom = 0 + scrollTarget = 0 + scrollAnimCounter = 0f + } + override fun hide() { showCalled = false cellLoadThread.interrupt() diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt index 03544762e..03eb64dd0 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadManage.kt @@ -75,6 +75,7 @@ class UILoadManage(val full: UILoadSavegame) : UICanvas() { private val mainBackButton = UIItemTextButton(this, { Lang["MENU_LABEL_BACK"] }, buttonXcentre, buttonRowY, buttonWidth, alignment = UIItemTextButton.Companion.Alignment.CENTRE, hasBorder = true).also { it.clickOnceListener = { _,_ -> + full.resetScroll() full.changePanelTo(0) } } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt b/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt index 5be74c17d..fe9542c5e 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UILoadSavegame.kt @@ -96,6 +96,10 @@ class UILoadSavegame(val remoCon: UIRemoCon) : Advanceable() { // internal fun bringAutosaveSelectorUp() { transitionPanel.setRightUIto(1) } // internal fun takeAutosaveSelectorDown() { transitionPanel.setRightUIto(0) } + internal fun resetScroll() { + transitionalListing.resetScroll() + } + internal fun changePanelTo(index: Int) { transitionPanel.requestTransition(index) }