mirror of
https://github.com/yairm210/Unciv.git
synced 2025-08-03 00:29:18 +07:00
chore(purity): Update to @Cache version
This commit is contained in:
@ -30,6 +30,7 @@ kotlin {
|
||||
jvm()
|
||||
}
|
||||
|
||||
|
||||
// Plugins used for serialization of JSON for networking
|
||||
plugins {
|
||||
id("io.gitlab.arturbosch.detekt").version("1.23.0-RC3")
|
||||
@ -37,7 +38,7 @@ plugins {
|
||||
// This is *with* gradle 8.2 downloaded according the project specs, no idea what that's about
|
||||
kotlin("multiplatform") version "1.9.24"
|
||||
kotlin("plugin.serialization") version "1.9.24"
|
||||
id("io.github.yairm210.purity-plugin") version "0.0.36" apply(false)
|
||||
id("io.github.yairm210.purity-plugin") version "0.0.38" apply(false)
|
||||
}
|
||||
|
||||
allprojects {
|
||||
@ -169,7 +170,7 @@ project(":core") {
|
||||
"implementation"("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
|
||||
"implementation"("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
|
||||
|
||||
"implementation"("io.github.yairm210:purity-annotations:0.0.32")
|
||||
"implementation"("io.github.yairm210:purity-annotations:0.0.38")
|
||||
|
||||
"implementation"("io.ktor:ktor-client-core:$ktorVersion")
|
||||
"implementation"("io.ktor:ktor-client-cio:$ktorVersion")
|
||||
|
@ -61,6 +61,7 @@ class TileImprovementFunctions(val tile: Tile) {
|
||||
isNormalizeCheck: Boolean = false
|
||||
): Boolean {
|
||||
|
||||
@Readonly
|
||||
fun TileImprovement.canBeBuiltOnThisUnbuildableTerrain(
|
||||
knownFeatureRemovals: List<TileImprovement>? = null,
|
||||
): Boolean {
|
||||
|
@ -12,7 +12,7 @@ import com.unciv.models.ruleset.unique.UniqueType
|
||||
import com.unciv.ui.components.extensions.colorFromRGB
|
||||
import com.unciv.ui.objectdescriptions.uniquesToCivilopediaTextLines
|
||||
import com.unciv.ui.screens.civilopediascreen.FormattedLine
|
||||
import yairm210.purity.annotations.LocalState
|
||||
import yairm210.purity.annotations.Cache
|
||||
import yairm210.purity.annotations.Readonly
|
||||
|
||||
class Terrain : RulesetStatsObject() {
|
||||
@ -161,7 +161,7 @@ class Terrain : RulesetStatsObject() {
|
||||
}
|
||||
|
||||
/** Terrain filter matching is "pure" - input always returns same output, and it's called a bajillion times */
|
||||
@LocalState val cachedMatchesFilterResult = HashMap<String, Boolean>()
|
||||
@Cache private val cachedMatchesFilterResult = HashMap<String, Boolean>()
|
||||
|
||||
@Readonly
|
||||
fun matchesFilter(filter: String, state: GameContext? = null, multiFilter: Boolean = true): Boolean {
|
||||
|
@ -25,6 +25,7 @@ import com.unciv.ui.components.extensions.toPercent
|
||||
import com.unciv.ui.objectdescriptions.BaseUnitDescriptions
|
||||
import com.unciv.ui.screens.civilopediascreen.FormattedLine
|
||||
import com.unciv.utils.yieldIfNotNull
|
||||
import yairm210.purity.annotations.Cache
|
||||
import yairm210.purity.annotations.LocalState
|
||||
import yairm210.purity.annotations.Readonly
|
||||
import kotlin.math.pow
|
||||
@ -411,7 +412,7 @@ class BaseUnit : RulesetObject(), INonPerpetualConstruction {
|
||||
}
|
||||
|
||||
|
||||
@LocalState private val cachedMatchesFilterResult = HashMap<String, Boolean>()
|
||||
@Cache private val cachedMatchesFilterResult = HashMap<String, Boolean>()
|
||||
|
||||
/** Implements [UniqueParameterType.BaseUnitFilter][com.unciv.models.ruleset.unique.UniqueParameterType.BaseUnitFilter] */
|
||||
@Readonly
|
||||
|
Reference in New Issue
Block a user