mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-24 03:53:12 -04:00
Resolved #12150 - City overview updates when entering a city via it, changing info, and exiting
This commit is contained in:
parent
5d7b7c6bcb
commit
e8565b0b6f
@ -36,16 +36,16 @@ class EmpireOverviewScreen(
|
|||||||
init {
|
init {
|
||||||
val selectCategory = defaultCategory
|
val selectCategory = defaultCategory
|
||||||
//TODO replace with `?: persistState.last` in a future update
|
//TODO replace with `?: persistState.last` in a future update
|
||||||
?: EmpireOverviewCategories.values().firstOrNull { it.name == game.settings.lastOverviewPage }
|
?: EmpireOverviewCategories.entries.firstOrNull { it.name == game.settings.lastOverviewPage }
|
||||||
val iconSize = Constants.defaultFontSize.toFloat()
|
val iconSize = Constants.defaultFontSize.toFloat()
|
||||||
|
|
||||||
tabbedPager = TabbedPager(
|
tabbedPager = TabbedPager(
|
||||||
stage.width, stage.width,
|
stage.width, stage.width,
|
||||||
centerAreaHeight, centerAreaHeight,
|
centerAreaHeight, centerAreaHeight,
|
||||||
separatorColor = Color.WHITE,
|
separatorColor = Color.WHITE,
|
||||||
capacity = EmpireOverviewCategories.values().size)
|
capacity = EmpireOverviewCategories.entries.size)
|
||||||
|
|
||||||
for (category in EmpireOverviewCategories.values()) {
|
for (category in EmpireOverviewCategories.entries) {
|
||||||
val tabState = category.testState(viewingPlayer)
|
val tabState = category.testState(viewingPlayer)
|
||||||
if (tabState == EmpireOverviewTabState.Hidden) continue
|
if (tabState == EmpireOverviewTabState.Hidden) continue
|
||||||
val icon = if (category.iconName.isEmpty()) null else ImageGetter.getImage(category.iconName)
|
val icon = if (category.iconName.isEmpty()) null else ImageGetter.getImage(category.iconName)
|
||||||
@ -78,7 +78,7 @@ class EmpireOverviewScreen(
|
|||||||
tabbedPager.selectPage(-1) // trigger deselect on _old_ instance so the tabs can persist their stuff
|
tabbedPager.selectPage(-1) // trigger deselect on _old_ instance so the tabs can persist their stuff
|
||||||
return EmpireOverviewScreen(viewingPlayer,
|
return EmpireOverviewScreen(viewingPlayer,
|
||||||
//TODO replace with `persistState.last)` in a future update
|
//TODO replace with `persistState.last)` in a future update
|
||||||
EmpireOverviewCategories.values().firstOrNull { it.name == game.settings.lastOverviewPage })
|
EmpireOverviewCategories.entries.firstOrNull { it.name == game.settings.lastOverviewPage })
|
||||||
}
|
}
|
||||||
|
|
||||||
fun resizePage(tab: EmpireOverviewTab) {
|
fun resizePage(tab: EmpireOverviewTab) {
|
||||||
@ -111,7 +111,7 @@ class EmpireOverviewScreen(
|
|||||||
// This is called by UncivGame.popScreen - e.g. after City Tab opened a City and the user closes that CityScreen...
|
// This is called by UncivGame.popScreen - e.g. after City Tab opened a City and the user closes that CityScreen...
|
||||||
// Notify the current tab via its IPageExtensions.activated entry point so it can refresh if needed
|
// Notify the current tab via its IPageExtensions.activated entry point so it can refresh if needed
|
||||||
val index = tabbedPager.activePage
|
val index = tabbedPager.activePage
|
||||||
val category = EmpireOverviewCategories.values().getOrNull(index - 1) ?: return
|
val category = EmpireOverviewCategories.entries.getOrNull(index) ?: return
|
||||||
pageObjects[category]?.activated(index, "", tabbedPager) // Fake caption marks this as popScreen-triggered
|
pageObjects[category]?.activated(index, "", tabbedPager) // Fake caption marks this as popScreen-triggered
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ abstract class EmpireOverviewTab (
|
|||||||
if (caption.isEmpty()) return // called from EmpireOverviewScreen.resume()
|
if (caption.isEmpty()) return // called from EmpireOverviewScreen.resume()
|
||||||
//TODO remove line in a future update
|
//TODO remove line in a future update
|
||||||
overviewScreen.game.settings.lastOverviewPage = caption
|
overviewScreen.game.settings.lastOverviewPage = caption
|
||||||
overviewScreen.persistState.last = EmpireOverviewCategories.values()[index] // Change this if categories are ever reordered or filtered
|
overviewScreen.persistState.last = EmpireOverviewCategories.entries.toTypedArray()[index] // Change this if categories are ever reordered or filtered
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Override if the tab can _select_ something specific.
|
/** Override if the tab can _select_ something specific.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user