Tiles are now black until they have been explored

This commit is contained in:
Yair Morgenstern
2017-12-30 23:36:43 +02:00
parent befb0561b5
commit 9d3fd22d1c
3 changed files with 18 additions and 7 deletions

View File

@ -24,6 +24,7 @@ public class TileInfo
public String owner; // owning civ name
public String workingCity; // Working City name
public RoadStatus roadStatus = RoadStatus.None;
public boolean explored=false;
public int turnsToImprovement;
public Terrain getBaseTerrain(){return GameBasics.Terrains.get(baseTerrain);}

View File

@ -53,13 +53,20 @@ public class TileGroup extends Group {
void update() {
if(tileInfo.explored){
terrainImage.setColor(Color.WHITE);
}
else{
terrainImage.setColor(Color.BLACK);
}
if(!terrainType.equals(tileInfo.getLastTerrain().name)) {
terrainType = tileInfo.getLastTerrain().name;
String terrainFileName = "TerrainIcons/" + terrainType.replace(' ', '_') + "_(Civ5).png";
terrainImage.setDrawable(ImageGetter.getDrawable(terrainFileName)); // In case we e.g. removed a jungle
}
if (tileInfo.hasViewableResource() && resourceImage == null) { // Need to add the resource image!
if (tileInfo.explored && tileInfo.hasViewableResource() && resourceImage == null) { // Need to add the resource image!
String fileName = "ResourceIcons/" + tileInfo.resource + "_(Civ5).png";
Image image = ImageGetter.getImage(fileName);
image.setSize(20,20);
@ -68,7 +75,7 @@ public class TileGroup extends Group {
addActor(image);
}
if (tileInfo.unit != null && unitImage == null) {
if (tileInfo.explored && tileInfo.unit != null && unitImage == null) {
unitImage = ImageGetter.getImage("StatIcons/" + tileInfo.unit.name.replace(" ","_") + "_(Civ5).png");
addActor(unitImage);
unitImage.setSize(20, 20); // not moved - is at bottom left
@ -85,7 +92,7 @@ public class TileGroup extends Group {
}
if (tileInfo.improvement != null &&!tileInfo.improvement.equals(improvementType)) {
if (tileInfo.explored && tileInfo.improvement != null &&!tileInfo.improvement.equals(improvementType)) {
improvementImage = ImageGetter.getImage("ImprovementIcons/" + tileInfo.improvement.replace(' ','_') + "_(Civ5).png");
addActor(improvementImage);
improvementImage.setSize(20, 20);

View File

@ -6,6 +6,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.unciv.civinfo.CityInfo;
import com.unciv.civinfo.TileInfo;
import com.unciv.game.utils.ImageGetter;
public class WorldTileGroup extends TileGroup {
@ -15,7 +16,11 @@ public class WorldTileGroup extends TileGroup {
}
void setIsViewable(boolean isViewable) {
if (isViewable) setColor(1, 1, 0, 1); // Only alpha really changes anything
if (isViewable) {
setColor(1, 1, 0, 1); // Only alpha really changes anything
tileInfo.explored=true;
update();
}
else setColor(0, 0, 0, 0.3f);
}
@ -28,7 +33,7 @@ public class WorldTileGroup extends TileGroup {
if (tileInfo.owner != null && hexagon == null) {
hexagon = com.unciv.game.utils.ImageGetter.getImage("TerrainIcons/Hexagon.png");
hexagon = ImageGetter.getImage("TerrainIcons/Hexagon.png");
float imageScale = terrainImage.getWidth() * 1.3f / hexagon.getWidth();
hexagon.setScale(imageScale);
hexagon.setPosition((getWidth() - hexagon.getWidth() * imageScale) / 2,
@ -57,12 +62,10 @@ public class WorldTileGroup extends TileGroup {
});
addActor(cityButton);
// cityButton.setColor(1,1,1,0.9f);
setZIndex(getParent().getChildren().size); // so this tile is rendered over neighboring tiles
}
String cityButtonText = city.name +" ("+city.population+")";
// +" ("+city.population+")" + "\r\n" + city.cityConstructions.getCityProductionTextForCityButton();
TextButton button = cityButton.getActor();
button.setText(cityButtonText);
button.setSize(button.getPrefWidth(), button.getPrefHeight());