adding MapUnitAction.name(), a user-readable name for actions. Eg "Moving" instead of "moveTo x,y"

This commit is contained in:
martin 2019-05-22 22:38:24 +02:00 committed by Yair Morgenstern
parent 4330508d2e
commit d676c18aec
5 changed files with 22 additions and 4 deletions

View File

@ -262,7 +262,7 @@
Romanian:"Dormi"
Simplified_Chinese:"休眠"
Portuguese:"Dormir"
German:"Schlafen legen"
German:"Schlafen"
French:"Dormir"
Japanese:"睡眠"
Russian:"Спать"
@ -270,6 +270,10 @@
Spanish:"Dormir"
}
"Moving": {
"German": "Bewegen"
}
"Set up":{ // For siege units
Italian:"Monta"
Russian:"Подготовится"

View File

@ -7,7 +7,9 @@ import com.unciv.logic.map.TileInfo
class BuildLongRoadAction(
mapUnit: MapUnit = MapUnit(),
val target: TileInfo = TileInfo()
) : MapUnitAction(mapUnit, "Build Long Road") {
) : MapUnitAction(mapUnit) {
override fun name(): String = "Build Long Road"
override fun shouldStopOnEnemyInSight(): Boolean = true

View File

@ -5,6 +5,7 @@ import com.unciv.logic.map.MapUnit
open class MapUnitAction(
@Transient var unit: MapUnit = MapUnit()
) {
open fun name(): String = ""
/** return true if this action is possible in the given conditions */
open fun isAvailable(): Boolean = true
open fun doPreTurnAction() {}

View File

@ -11,8 +11,17 @@ import com.unciv.logic.map.MapUnit
class StringAction(
unit: MapUnit = MapUnit(),
val action: String = "" // traditional string-encoded action like "moveTo x,y"
): MapUnitAction(unit) {
) : MapUnitAction(unit) {
override fun shouldStopOnEnemyInSight(): Boolean = action.startsWith("moveTo")
override fun name(): String {
return when {
// translate string-encoded actions to user-readable names
action.startsWith("moveTo") -> "Moving"
else -> action
}
}
}

View File

@ -104,7 +104,7 @@ class EmpireOverviewScreen : CameraStageBaseScreen(){
generalTable.add(createOffersTable(otherCiv, trade.theirOffers, trade.ourOffers.size))
return generalTable
}
private fun createOffersTable(civ: CivilizationInfo, offersList: TradeOffersList, numberOfOtherSidesOffers: Int): Table {
val table = Table()
table.defaults().pad(10f)
@ -256,6 +256,7 @@ class EmpireOverviewScreen : CameraStageBaseScreen(){
fun getUnitTable(): Table {
val table=Table(skin).apply { defaults().pad(5f) }
table.add("Name".tr())
table.add("Action".tr())
table.add("Strength".tr())
table.add("Ranged strength".tr())
table.add("Movement".tr())
@ -267,6 +268,7 @@ class EmpireOverviewScreen : CameraStageBaseScreen(){
for(unit in currentPlayerCivInfo.getCivUnits()){
val baseUnit = unit.baseUnit()
table.add(unit.name.tr())
unit.mapUnitAction?.let { table.add(it.name().tr()) } ?: table.add()
if(baseUnit.strength>0) table.add(baseUnit.strength.toString()) else table.add()
if(baseUnit.rangedStrength>0) table.add(baseUnit.rangedStrength.toString()) else table.add()
table.add(DecimalFormat("0.#").format(unit.currentMovement)+"/"+unit.getMaxMovement())