Code style improvement.

This commit is contained in:
Duan Tao
2018-12-09 19:05:33 +08:00
parent ca3172b2cf
commit bb12fc7cdb

View File

@ -84,11 +84,13 @@ class PopulationManager {
val policies = cityInfo.civInfo.policies.adoptedPolicies val policies = cityInfo.civInfo.policies.adoptedPolicies
val bestJob: Stat? = specialists.toHashMap() val bestJob: Stat? = specialists.toHashMap()
.filter {maxSpecialistsMap.containsKey(it.key) && it.value < maxSpecialistsMap[it.key]!!} .filter {maxSpecialistsMap.containsKey(it.key) && it.value < maxSpecialistsMap[it.key]!!}
.maxBy { Automation().rankSpecialist(cityInfo.cityStats.getStatsOfSpecialist(it.key, policies), cityInfo.civInfo) } .map {it.key}
?.key .maxBy { Automation().rankSpecialist(cityInfo.cityStats.getStatsOfSpecialist(it, policies), cityInfo.civInfo) }
var valueBestSpecialist = 0f var valueBestSpecialist = 0f
if (bestJob != null) if (bestJob != null) {
valueBestSpecialist = Automation().rankSpecialist(cityInfo.cityStats.getStatsOfSpecialist(bestJob, policies), cityInfo.civInfo) val specialistStats = cityInfo.cityStats.getStatsOfSpecialist(bestJob, policies)
valueBestSpecialist = Automation().rankSpecialist(specialistStats, cityInfo.civInfo)
}
//assign population //assign population
if (valueBestTile > valueBestSpecialist) { if (valueBestTile > valueBestSpecialist) {
@ -114,22 +116,22 @@ class PopulationManager {
val worstWorkedTile: TileInfo? = cityInfo.workedTiles val worstWorkedTile: TileInfo? = cityInfo.workedTiles
.asSequence() .asSequence()
.map { cityInfo.tileMap[it] } .map { cityInfo.tileMap[it] }
.minBy { Automation().rankTile(it, cityInfo.civInfo) }!! .minBy {Automation().rankTile(it, cityInfo.civInfo)}
val valueWorstTile = Automation().rankTile(worstWorkedTile, cityInfo.civInfo) val valueWorstTile = Automation().rankTile(worstWorkedTile, cityInfo.civInfo)
//evaluate specialists //evaluate specialists
val policies = cityInfo.civInfo.policies.adoptedPolicies val policies = cityInfo.civInfo.policies.adoptedPolicies
val worstJob: Stat? = specialists.toHashMap() val worstJob: Stat? = specialists.toHashMap()
.filter { it.value > 0 } .filter { it.value > 0 }
.minBy { Automation().rankSpecialist(cityInfo.cityStats.getStatsOfSpecialist(it.key, policies), cityInfo.civInfo) } .map {it.key}
?.key .minBy { Automation().rankSpecialist(cityInfo.cityStats.getStatsOfSpecialist(it, policies), cityInfo.civInfo) }
var valueWorstSpecialist = 0f var valueWorstSpecialist = 0f
if (worstJob != null) if (worstJob != null)
valueWorstSpecialist = Automation().rankSpecialist(cityInfo.cityStats.getStatsOfSpecialist(worstJob, policies), cityInfo.civInfo) valueWorstSpecialist = Automation().rankSpecialist(cityInfo.cityStats.getStatsOfSpecialist(worstJob, policies), cityInfo.civInfo)
//un-assign population //un-assign population
if ((valueWorstTile < valueWorstSpecialist && worstWorkedTile != null) if ((valueWorstTile < valueWorstSpecialist && worstWorkedTile != null)
|| (getNumberOfSpecialists() == 0)) { || worstJob == null) {
cityInfo.workedTiles.remove(worstWorkedTile!!.position) cityInfo.workedTiles.remove(worstWorkedTile!!.position)
} else { } else {
specialists.add(worstJob!!, -1f) specialists.add(worstJob!!, -1f)