mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-25 15:19:51 +07:00
Can now build roads on jungle/forest
Building picker now displays more relevant information
This commit is contained in:
@ -95,12 +95,12 @@ public class TileInfo
|
|||||||
Terrain topTerrain = terrainFeature ==null ? getBaseTerrain() : getTerrainFeature();
|
Terrain topTerrain = terrainFeature ==null ? getBaseTerrain() : getTerrainFeature();
|
||||||
if (improvement.techRequired != null && !isResearched(improvement.techRequired)) return false;
|
if (improvement.techRequired != null && !isResearched(improvement.techRequired)) return false;
|
||||||
if (improvement.terrainsCanBeBuiltOn.contains(topTerrain.name)) return true;
|
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 (topTerrain.unbuildable) return false;
|
||||||
|
|
||||||
if(improvement.name.equals(this.improvement)) 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);
|
return resource != null && getTileResource().improvement.equals(improvement.name);
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ public class BuildingPickerScreen extends PickerScreen {
|
|||||||
if(!cityBuildings.canBuild(building)) continue;
|
if(!cityBuildings.canBuild(building)) continue;
|
||||||
TextButton TB = getProductionButton(building.name,
|
TextButton TB = getProductionButton(building.name,
|
||||||
building.name +"\r\n"+cityBuildings.turnsToBuilding(building.name)+" turns",
|
building.name +"\r\n"+cityBuildings.turnsToBuilding(building.name)+" turns",
|
||||||
building.description,
|
building.getDescription(true),
|
||||||
"Build "+building.name);
|
"Build "+building.name);
|
||||||
if(building.isWonder) wonders.addActor(TB);
|
if(building.isWonder) wonders.addActor(TB);
|
||||||
else regularBuildings.addActor(TB);
|
else regularBuildings.addActor(TB);
|
||||||
|
@ -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.ui.VerticalGroup;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
import com.unciv.civinfo.CivilizationInfo;
|
import com.unciv.civinfo.CivilizationInfo;
|
||||||
|
import com.unciv.civinfo.TileInfo;
|
||||||
import com.unciv.game.UnCivGame;
|
import com.unciv.game.UnCivGame;
|
||||||
import com.unciv.models.gamebasics.GameBasics;
|
import com.unciv.models.gamebasics.GameBasics;
|
||||||
import com.unciv.models.gamebasics.TileImprovement;
|
import com.unciv.models.gamebasics.TileImprovement;
|
||||||
@ -15,7 +16,7 @@ public class ImprovementPickerScreen extends PickerScreen {
|
|||||||
String SelectedImprovement;
|
String SelectedImprovement;
|
||||||
int TurnsToImprovement;
|
int TurnsToImprovement;
|
||||||
|
|
||||||
public ImprovementPickerScreen(final UnCivGame game, final com.unciv.civinfo.TileInfo tileInfo) {
|
public ImprovementPickerScreen(final UnCivGame game, final TileInfo tileInfo) {
|
||||||
super(game);
|
super(game);
|
||||||
|
|
||||||
rightSideButton.setText("Pick improvement");
|
rightSideButton.setText("Pick improvement");
|
||||||
|
@ -25,14 +25,16 @@ public class Building extends NamedStats implements ICivilopedia {
|
|||||||
/** The bonus stats that a resource gets when this building is built */
|
/** The bonus stats that a resource gets when this building is built */
|
||||||
public FullStats resourceBonusStats;
|
public FullStats resourceBonusStats;
|
||||||
|
|
||||||
public String getDescription() {
|
public String getDescription(){return getDescription(false);}
|
||||||
|
|
||||||
|
public String getDescription(boolean forBuildingPickerScreen) {
|
||||||
FullStats stats = new FullStats(this);
|
FullStats stats = new FullStats(this);
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
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 (isWonder) stringBuilder.append("Wonder\r\n");
|
||||||
if (requiredTech != null) stringBuilder.append("Requires "+requiredTech+" to be researched\r\n");
|
if (!forBuildingPickerScreen && 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 (!forBuildingPickerScreen && 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 && 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(providesFreeBuilding!=null) stringBuilder.append("Provides a free "+providesFreeBuilding+" in this city\r\n");
|
||||||
if(maintainance!=0) stringBuilder.append("Maintainance cost: "+maintainance+" gold\r\n");
|
if(maintainance!=0) stringBuilder.append("Maintainance cost: "+maintainance+" gold\r\n");
|
||||||
stringBuilder.append(description + "\r\n" + stats);
|
stringBuilder.append(description + "\r\n" + stats);
|
||||||
|
Reference in New Issue
Block a user