diff --git a/core/src/com/unciv/ui/trade/OffersListScroll.kt b/core/src/com/unciv/ui/trade/OffersListScroll.kt index ff53d74c14..5dbe4d8e99 100644 --- a/core/src/com/unciv/ui/trade/OffersListScroll.kt +++ b/core/src/com/unciv/ui/trade/OffersListScroll.kt @@ -19,7 +19,7 @@ class OffersListScroll(val onOfferClicked: (TradeOffer) -> Unit) : ScrollPane(nu val table = Table(CameraStageBaseScreen.skin).apply { defaults().pad(5f) } - val expanderTabs = HashMap() + private val expanderTabs = HashMap() fun update(offersToDisplay:TradeOffersList) { table.clear() @@ -41,12 +41,13 @@ class OffersListScroll(val onOfferClicked: (TradeOffer) -> Unit) : ScrollPane(nu } } - for (offertype in values()) { - val offersOfType = offersToDisplay.filter { it.type == offertype } + for (offerType in values()) { + val offersOfType = offersToDisplay.filter { it.type == offerType }. + sortedBy { it.name }.sortedByDescending { it.amount } - if (expanderTabs.containsKey(offertype)) { - expanderTabs[offertype]!!.innerTable.clear() - table.add(expanderTabs[offertype]!!).row() + if (expanderTabs.containsKey(offerType)) { + expanderTabs[offerType]!!.innerTable.clear() + table.add(expanderTabs[offerType]!!).row() } for (offer in offersOfType) { @@ -62,12 +63,12 @@ class OffersListScroll(val onOfferClicked: (TradeOffer) -> Unit) : ScrollPane(nu else tradeButton.disable() // for instance we have negative gold - if (expanderTabs.containsKey(offertype)) - expanderTabs[offertype]!!.innerTable.add(tradeButton).row() + if (expanderTabs.containsKey(offerType)) + expanderTabs[offerType]!!.innerTable.add(tradeButton).row() else table.add(tradeButton).row() } } - widget = table + actor = table } } \ No newline at end of file