Can now build roads on jungle/forest

Building picker now displays more relevant information
This commit is contained in:
Yair Morgenstern
2017-12-06 23:24:39 +02:00
parent ea5552f3a7
commit 6a73c3f370
4 changed files with 12 additions and 9 deletions

View File

@ -95,12 +95,12 @@ public class TileInfo
Terrain topTerrain = terrainFeature ==null ? getBaseTerrain() : getTerrainFeature();
if (improvement.techRequired != null && !isResearched(improvement.techRequired)) return false;
if (improvement.terrainsCanBeBuiltOn.contains(topTerrain.name)) return true;
if(improvement.name.equals("Road") && this.roadStatus== RoadStatus.None) return true;
if(improvement.name.equals("Railroad") && this.roadStatus != RoadStatus.Railroad) return true;
if (topTerrain.unbuildable) return false;
if(improvement.name.equals(this.improvement)) return false;
if(improvement.name.equals("Road") && this.roadStatus== RoadStatus.None) return true;
if(improvement.name.equals("Railroad") && this.roadStatus != RoadStatus.Railroad) return true;
return resource != null && getTileResource().improvement.equals(improvement.name);
}

View File

@ -64,7 +64,7 @@ public class BuildingPickerScreen extends PickerScreen {
if(!cityBuildings.canBuild(building)) continue;
TextButton TB = getProductionButton(building.name,
building.name +"\r\n"+cityBuildings.turnsToBuilding(building.name)+" turns",
building.description,
building.getDescription(true),
"Build "+building.name);
if(building.isWonder) wonders.addActor(TB);
else regularBuildings.addActor(TB);

View File

@ -7,6 +7,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.ui.VerticalGroup;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.unciv.civinfo.CivilizationInfo;
import com.unciv.civinfo.TileInfo;
import com.unciv.game.UnCivGame;
import com.unciv.models.gamebasics.GameBasics;
import com.unciv.models.gamebasics.TileImprovement;
@ -15,7 +16,7 @@ public class ImprovementPickerScreen extends PickerScreen {
String SelectedImprovement;
int TurnsToImprovement;
public ImprovementPickerScreen(final UnCivGame game, final com.unciv.civinfo.TileInfo tileInfo) {
public ImprovementPickerScreen(final UnCivGame game, final TileInfo tileInfo) {
super(game);
rightSideButton.setText("Pick improvement");

View File

@ -25,14 +25,16 @@ public class Building extends NamedStats implements ICivilopedia {
/** The bonus stats that a resource gets when this building is built */
public FullStats resourceBonusStats;
public String getDescription() {
public String getDescription(){return getDescription(false);}
public String getDescription(boolean forBuildingPickerScreen) {
FullStats stats = new FullStats(this);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Cost: "+cost+"\r\n");
if (!forBuildingPickerScreen) stringBuilder.append("Cost: "+cost+"\r\n");
if (isWonder) stringBuilder.append("Wonder\r\n");
if (requiredTech != null) stringBuilder.append("Requires "+requiredTech+" to be researched\r\n");
if (requiredBuilding != null) stringBuilder.append("Requires a "+requiredBuilding+" to be built in this city\r\n");
if (requiredBuildingInAllCities != null) stringBuilder.append("Requires a "+requiredBuildingInAllCities+" to be built in all cities\r\n");
if (!forBuildingPickerScreen && requiredTech != null) stringBuilder.append("Requires "+requiredTech+" to be researched\r\n");
if (!forBuildingPickerScreen && requiredBuilding != null) stringBuilder.append("Requires a "+requiredBuilding+" to be built in this city\r\n");
if (!forBuildingPickerScreen && requiredBuildingInAllCities != null) stringBuilder.append("Requires a "+requiredBuildingInAllCities+" to be built in all cities\r\n");
if(providesFreeBuilding!=null) stringBuilder.append("Provides a free "+providesFreeBuilding+" in this city\r\n");
if(maintainance!=0) stringBuilder.append("Maintainance cost: "+maintainance+" gold\r\n");
stringBuilder.append(description + "\r\n" + stats);