From 2b3a9c14bf5b0a8aa960f358badccedfb82f3924 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Mon, 4 May 2020 20:22:23 +0300 Subject: [PATCH] Resolved #2576 - Clicking on "Encountering" notifications now move the map to the encounter location --- .../civilization/CivInfoTransientUpdater.kt | 17 +++++++++-------- .../logic/civilization/CivilizationInfo.kt | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt b/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt index 014b2cdcb7..e7728f3605 100644 --- a/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt +++ b/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt @@ -29,19 +29,20 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo) { civInfo.exploredTiles.addAll(newlyExploredTiles) - val viewedCivs = HashSet() + val viewedCivs = HashMap() for (tile in civInfo.viewableTiles) { val tileOwner = tile.getOwner() - if (tileOwner != null) viewedCivs += tileOwner - for (unit in tile.getUnits()) viewedCivs += unit.civInfo + if (tileOwner != null) viewedCivs[civInfo] = tile + for (unit in tile.getUnits()) viewedCivs[unit.civInfo] = tile } if (!civInfo.isBarbarian()) { - for (otherCiv in viewedCivs.filterNot { it == civInfo || it.isBarbarian() }) { - if (!civInfo.diplomacy.containsKey(otherCiv.civName)) { - civInfo.meetCivilization(otherCiv) - civInfo.addNotification("We have encountered [" + otherCiv.civName + "]!", null, Color.GOLD) - } + for (entry in viewedCivs) { + val metCiv = entry.key + if (metCiv == civInfo || metCiv.isBarbarian() || civInfo.diplomacy.containsKey(metCiv.civName)) continue + civInfo.meetCivilization(metCiv) + civInfo.addNotification("We have encountered [" + metCiv.civName + "]!", entry.value.position, Color.GOLD) + metCiv.addNotification("We have encountered [" + civInfo.civName + "]!", entry.value.position, Color.GOLD) } discoverNaturalWonders() diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index d0f96b4264..8bbc1e430c 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -252,8 +252,8 @@ class CivilizationInfo { otherCiv.diplomacy[civName] = DiplomacyManager(otherCiv, civName) .apply { diplomaticStatus = DiplomaticStatus.Peace } - popupAlerts.add(PopupAlert(AlertType.FirstContact,otherCiv.civName)) + if(isCurrentPlayer() || otherCiv.isCurrentPlayer()) UncivGame.Current.settings.addCompletedTutorialTask("Meet another civilization") }