Players has to be an ArrayList, or else it's not guaranteed to be initializable when starting mods...

This commit is contained in:
Yair Morgenstern
2020-05-01 00:03:07 +03:00
parent af8e217e18
commit f5968e678d
3 changed files with 5 additions and 3 deletions

View File

@ -7,7 +7,7 @@ import com.unciv.models.ruleset.VictoryType
class GameParameters { // Default values are the default new game
var difficulty = "Prince"
var gameSpeed = GameSpeed.Standard
var players = mutableListOf<Player>().apply {
var players = ArrayList<Player>().apply {
add(Player().apply { playerType = PlayerType.Human })
for (i in 1..3) add(Player())
}

View File

@ -145,8 +145,10 @@ class Translations : LinkedHashMap<String, TranslationEntry>(){
}
companion object {
// Regex compilation is expensive, best to save it
val bonusOrPenaltyRegex = Regex("""(Bonus|Penalty) vs (.*) (\d*)%""")
fun translateBonusOrPenalty(unique:String): String {
val regexResult = Regex("""(Bonus|Penalty) vs (.*) (\d*)%""").matchEntire(unique)
val regexResult = bonusOrPenaltyRegex.matchEntire(unique)
if(regexResult==null) return unique.tr()
else{
var separatorCharacter = " "

View File

@ -36,7 +36,7 @@ class PlayerPickerTable(val newGameScreen: NewGameScreen, val newGameParameters:
reassignRemovedModReferences()
val newRulesetPlayableCivs = newGameScreen.ruleset.nations.count { it.key!=Constants.barbarians }
if(newGameParameters.players.size > newRulesetPlayableCivs)
newGameParameters.players=newGameParameters.players.subList(0,newRulesetPlayableCivs)
newGameParameters.players=ArrayList(newGameParameters.players.subList(0,newRulesetPlayableCivs))
if (desiredCiv.isNotEmpty()) assignDesiredCiv(desiredCiv)
for (player in newGameParameters.players) {