From 823e6ffc2a4d14c04a661e2e0f8c2253c0d0844a Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Fri, 25 Jun 2021 18:33:45 +0300 Subject: [PATCH] Faster 'false' results for isStats, as proposed by @SomeTroglodyte in #4259 --- core/src/com/unciv/models/stats/Stats.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/models/stats/Stats.kt b/core/src/com/unciv/models/stats/Stats.kt index 1be0b5ddb9..c419837eef 100644 --- a/core/src/com/unciv/models/stats/Stats.kt +++ b/core/src/com/unciv/models/stats/Stats.kt @@ -118,7 +118,10 @@ open class Stats() { private val statRegexPattern = "([+-])(\\d+) ($allStatNames)" private val statRegex = Regex(statRegexPattern) private val entireStringRegexPattern = Regex("$statRegexPattern(, $statRegexPattern)*") - fun isStats(string:String): Boolean = entireStringRegexPattern.matches(string) + fun isStats(string:String): Boolean { + if (string[0] != '+' && string[0] != '-') return false // very quick negative check before the heavy Regex + return entireStringRegexPattern.matches(string) + } fun parse(string:String):Stats{ val toReturn = Stats() val statsWithBonuses = string.split(", ")