From dc314fa3152e1285763e31f0540b7c730c8741b8 Mon Sep 17 00:00:00 2001 From: Duan Tao Date: Mon, 10 Dec 2018 17:50:46 +0800 Subject: [PATCH] Fix research queue when getting free tech. --- core/src/com/unciv/logic/trade/TradeLogic.kt | 3 +++ core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/logic/trade/TradeLogic.kt b/core/src/com/unciv/logic/trade/TradeLogic.kt index 9ad3e9fb76..d125761391 100644 --- a/core/src/com/unciv/logic/trade/TradeLogic.kt +++ b/core/src/com/unciv/logic/trade/TradeLogic.kt @@ -183,6 +183,9 @@ class TradeLogic(val ourCivilization:CivilizationInfo, val otherCivilization: Ci } if (offer.type == TradeType.Technology) { to.tech.techsResearched.add(offer.name) + if (to.tech.techsToResearch.contains(offer.name)) { + to.tech.techsToResearch.remove(offer.name) + } } if(offer.type== TradeType.City){ val city = from.cities.first { it.name==offer.name } diff --git a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt index 89b686473c..58a3f9452f 100644 --- a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt @@ -79,9 +79,10 @@ class TechPickerScreen(internal val civInfo: CivilizationInfo) : PickerScreen() rightSideButton.onClick { if (isFreeTechPick) { civTech.techsResearched.add(selectedTech!!.name) - civTech.freeTechs -= 1 - if (selectedTech!!.name == civTech.currentTechnology()) + if (civTech.techsToResearch.contains(selectedTech!!.name)) { civTech.techsToResearch.remove(selectedTech!!.name) + } + civTech.freeTechs -= 1 } else civTech.techsToResearch = techsToResearch game.setWorldScreen()