From 221a8668fa6350c90063be6fac7fd4900bb3b07c Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Tue, 17 Apr 2018 21:56:58 +0300 Subject: [PATCH] Selected unit now has a white circle around it --- android/build.gradle | 4 ++-- .../src/com/unciv/ui/tilegroups/WorldTileGroup.kt | 15 +++++++++++---- .../src/com/unciv/ui/worldscreen/TileMapHolder.kt | 10 +++++----- ios/src/com/unciv/game/IOSLauncher.java | 8 ++++---- 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 6c1f38e4b3..84070ccb54 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -21,8 +21,8 @@ android { applicationId "com.unciv.game" minSdkVersion 14 targetSdkVersion 26 - versionCode 40 - versionName "1.4.7" + versionCode 42 + versionName "1.4.9" } buildTypes { release { diff --git a/core/src/com/unciv/ui/tilegroups/WorldTileGroup.kt b/core/src/com/unciv/ui/tilegroups/WorldTileGroup.kt index 24c139c0de..f9b2832440 100644 --- a/core/src/com/unciv/ui/tilegroups/WorldTileGroup.kt +++ b/core/src/com/unciv/ui/tilegroups/WorldTileGroup.kt @@ -16,9 +16,7 @@ import com.unciv.ui.utils.ImageGetter class WorldTileGroup(tileInfo: TileInfo) : TileGroup(tileInfo) { var cityButton: Table? = null private var unitImage: Group? = null - //private var whiteCircleAroundUnit - - private var circleImage = ImageGetter.getImage("UnitIcons/Circle.png") + private var circleImage = ImageGetter.getImage("UnitIcons/Circle.png") // for blue and red circles on the tile init{ circleImage.width = 50f @@ -29,10 +27,19 @@ class WorldTileGroup(tileInfo: TileInfo) : TileGroup(tileInfo) { circleImage.isVisible = false } + fun addWhiteCircleAroundUnit(){ + val whiteCircle = ImageGetter.getImage("UnitIcons/Circle.png") + whiteCircle.setSize(25f,25f) + whiteCircle.setPosition(unitImage!!.width/2 - whiteCircle.width/2, + unitImage!!.height/2 - whiteCircle.height/2) + unitImage!!.addActor(whiteCircle) + whiteCircle.toBack() + } + fun showCircle(color:Color){ circleImage.isVisible = true color.a = 0.3f - circleImage.setColor(color) + circleImage.color = color } fun hideCircle(){circleImage.isVisible=false} diff --git a/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt b/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt index 6740e9c61f..a5deea9604 100644 --- a/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt +++ b/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt @@ -16,7 +16,7 @@ import com.unciv.ui.utils.HexMath class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap: TileMap, internal val civInfo: CivilizationInfo) : ScrollPane(null) { internal var selectedTile: TileInfo? = null - val tileGroups = HashMap() + val tileGroups = HashMap() internal fun addTiles() { val allTiles = Group() @@ -43,7 +43,7 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap: val groupSize = 50 group.setPosition(worldScreen.stage.width / 2 + positionalVector.x * 0.8f * groupSize.toFloat(), worldScreen.stage.height / 2 + positionalVector.y * 0.8f * groupSize.toFloat()) - tileGroups[tileInfo.position.toString()] = group + tileGroups[tileInfo] = group allTiles.addActor(group) topX = Math.max(topX, group.x + groupSize) topY = Math.max(topY, group.y + groupSize) @@ -90,7 +90,6 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap: } for (string in civInfo.getViewableTiles() - .map { it.position.toString() } .filter { tileGroups.containsKey(it) }) { tileGroups[string]!!.run { @@ -101,10 +100,11 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap: if(worldScreen.unitTable.currentlyExecutingAction!=null) for(tile: TileInfo in worldScreen.unitTable.getTilesForCurrentlyExecutingAction()) - tileGroups[tile.position.toString()]!!.showCircle(Color(0f,120/255f,215/255f,1f)) + tileGroups[tile]!!.showCircle(Color(0f,120/255f,215/255f,1f)) else if(worldScreen.unitTable.selectedUnit!=null){ val unit = worldScreen.unitTable.selectedUnit!! + tileGroups[unit.getTile()]!!.addWhiteCircleAroundUnit() val attackableTiles:List when(unit.getBaseUnit().unitType){ UnitType.Civilian -> return @@ -113,7 +113,7 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap: } for (tile in attackableTiles.filter { it.unit!=null && it.unit!!.owner != unit.owner }) - tileGroups[tile.position.toString()]!!.showCircle(Color(237/255f,41/255f,57/255f,1f)) + tileGroups[tile]!!.showCircle(Color(237/255f,41/255f,57/255f,1f)) } } diff --git a/ios/src/com/unciv/game/IOSLauncher.java b/ios/src/com/unciv/game/IOSLauncher.java index 7935c27082..928c990095 100644 --- a/ios/src/com/unciv/game/IOSLauncher.java +++ b/ios/src/com/unciv/game/IOSLauncher.java @@ -1,16 +1,16 @@ package com.unciv.game; -import org.robovm.apple.foundation.NSAutoreleasePool; -import org.robovm.apple.uikit.UIApplication; - import com.badlogic.gdx.backends.iosrobovm.IOSApplication; import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration; +import org.robovm.apple.foundation.NSAutoreleasePool; +import org.robovm.apple.uikit.UIApplication; + class IOSLauncher extends IOSApplication.Delegate { @Override protected IOSApplication createApplication() { IOSApplicationConfiguration config = new IOSApplicationConfiguration(); - return new IOSApplication(new com.unciv.ui.UnCivGame(), config); + return new IOSApplication(new com.unciv.UnCivGame(), config); } public static void main(String[] argv) {