mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 22:37:02 -04:00
Fixed unique validation refactor breaks
This commit is contained in:
parent
c4aeb4d32a
commit
43ff2ac1f5
@ -21,6 +21,7 @@ import com.unciv.models.ruleset.unit.BaseUnit
|
|||||||
import com.unciv.models.ruleset.unit.Promotion
|
import com.unciv.models.ruleset.unit.Promotion
|
||||||
import com.unciv.models.ruleset.unit.UnitType
|
import com.unciv.models.ruleset.unit.UnitType
|
||||||
import com.unciv.models.ruleset.validation.RulesetValidator
|
import com.unciv.models.ruleset.validation.RulesetValidator
|
||||||
|
import com.unciv.models.ruleset.validation.UniqueValidator
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.utils.Log
|
import com.unciv.utils.Log
|
||||||
@ -378,7 +379,7 @@ class Ruleset {
|
|||||||
name = cityStateType.name
|
name = cityStateType.name
|
||||||
color = cityStateType.color
|
color = cityStateType.color
|
||||||
friendBonusUniques = ArrayList(cityStateType.friendBonusUniques.filter {
|
friendBonusUniques = ArrayList(cityStateType.friendBonusUniques.filter {
|
||||||
RulesetValidator(this@Ruleset).checkUnique(
|
UniqueValidator(this@Ruleset).checkUnique(
|
||||||
Unique(it),
|
Unique(it),
|
||||||
false,
|
false,
|
||||||
cityStateType,
|
cityStateType,
|
||||||
@ -386,7 +387,7 @@ class Ruleset {
|
|||||||
).isEmpty()
|
).isEmpty()
|
||||||
})
|
})
|
||||||
allyBonusUniques = ArrayList(cityStateType.allyBonusUniques.filter {
|
allyBonusUniques = ArrayList(cityStateType.allyBonusUniques.filter {
|
||||||
RulesetValidator(this@Ruleset).checkUnique(
|
UniqueValidator(this@Ruleset).checkUnique(
|
||||||
Unique(it),
|
Unique(it),
|
||||||
false,
|
false,
|
||||||
cityStateType,
|
cityStateType,
|
||||||
|
@ -8,7 +8,7 @@ import com.unciv.logic.city.City
|
|||||||
import com.unciv.logic.civilization.Civilization
|
import com.unciv.logic.civilization.Civilization
|
||||||
import com.unciv.logic.civilization.managers.ReligionState
|
import com.unciv.logic.civilization.managers.ReligionState
|
||||||
import com.unciv.models.ruleset.Ruleset
|
import com.unciv.models.ruleset.Ruleset
|
||||||
import com.unciv.models.ruleset.validation.RulesetValidator
|
import com.unciv.models.ruleset.validation.UniqueValidator
|
||||||
import com.unciv.models.stats.Stats
|
import com.unciv.models.stats.Stats
|
||||||
import com.unciv.models.translations.getConditionals
|
import com.unciv.models.translations.getConditionals
|
||||||
import com.unciv.models.translations.getPlaceholderParameters
|
import com.unciv.models.translations.getPlaceholderParameters
|
||||||
@ -119,7 +119,7 @@ class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val s
|
|||||||
// filter out possible replacements that are obviously wrong
|
// filter out possible replacements that are obviously wrong
|
||||||
val uniquesWithNoErrors = finalPossibleUniques.filter {
|
val uniquesWithNoErrors = finalPossibleUniques.filter {
|
||||||
val unique = Unique(it)
|
val unique = Unique(it)
|
||||||
val errors = RulesetValidator(ruleset).checkUnique(
|
val errors = UniqueValidator(ruleset).checkUnique(
|
||||||
unique, true, null,
|
unique, true, null,
|
||||||
UniqueType.UniqueComplianceErrorSeverity.RulesetSpecific
|
UniqueType.UniqueComplianceErrorSeverity.RulesetSpecific
|
||||||
)
|
)
|
||||||
|
@ -94,11 +94,11 @@ class UniqueValidator(val ruleset: Ruleset) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (conditional.type.targetTypes.contains(UniqueTarget.UnitActionModifier)
|
if (conditional.type.targetTypes.contains(UniqueTarget.UnitActionModifier)
|
||||||
&& conditional.type.targetTypes.none { UniqueTarget.UnitAction.canAcceptUniqueTarget(it) }
|
&& unique.type!!.targetTypes.none { UniqueTarget.UnitAction.canAcceptUniqueTarget(it) }
|
||||||
)
|
)
|
||||||
rulesetErrors.add(
|
rulesetErrors.add(
|
||||||
"$prefix unique \"${unique.text}\" contains the conditional \"${conditional.text}\"," +
|
"$prefix unique \"${unique.text}\" contains the conditional \"${conditional.text}\"," +
|
||||||
" which as a UnitActionModifier is only allowed on UnitAciton uniques.",
|
" which as a UnitActionModifier is only allowed on UnitAction uniques.",
|
||||||
RulesetErrorSeverity.Warning
|
RulesetErrorSeverity.Warning
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -7,14 +7,15 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table
|
|||||||
import com.badlogic.gdx.utils.Align
|
import com.badlogic.gdx.utils.Align
|
||||||
import com.unciv.models.ruleset.Ruleset
|
import com.unciv.models.ruleset.Ruleset
|
||||||
import com.unciv.models.ruleset.RulesetCache
|
import com.unciv.models.ruleset.RulesetCache
|
||||||
import com.unciv.models.ruleset.validation.RulesetError
|
|
||||||
import com.unciv.models.ruleset.validation.RulesetErrorSeverity
|
|
||||||
import com.unciv.models.ruleset.validation.RulesetValidator
|
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
import com.unciv.models.ruleset.unique.UniqueType
|
import com.unciv.models.ruleset.unique.UniqueType
|
||||||
|
import com.unciv.models.ruleset.validation.RulesetError
|
||||||
|
import com.unciv.models.ruleset.validation.RulesetErrorSeverity
|
||||||
|
import com.unciv.models.ruleset.validation.UniqueValidator
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.components.ExpanderTab
|
import com.unciv.ui.components.ExpanderTab
|
||||||
import com.unciv.ui.components.TabbedPager
|
import com.unciv.ui.components.TabbedPager
|
||||||
|
import com.unciv.ui.components.TranslatedSelectBox
|
||||||
import com.unciv.ui.components.extensions.surroundWithCircle
|
import com.unciv.ui.components.extensions.surroundWithCircle
|
||||||
import com.unciv.ui.components.extensions.toLabel
|
import com.unciv.ui.components.extensions.toLabel
|
||||||
import com.unciv.ui.components.extensions.toTextButton
|
import com.unciv.ui.components.extensions.toTextButton
|
||||||
@ -23,7 +24,6 @@ import com.unciv.ui.components.input.onClick
|
|||||||
import com.unciv.ui.images.ImageGetter
|
import com.unciv.ui.images.ImageGetter
|
||||||
import com.unciv.ui.popups.ToastPopup
|
import com.unciv.ui.popups.ToastPopup
|
||||||
import com.unciv.ui.screens.basescreen.BaseScreen
|
import com.unciv.ui.screens.basescreen.BaseScreen
|
||||||
import com.unciv.ui.components.TranslatedSelectBox
|
|
||||||
import com.unciv.utils.Concurrency
|
import com.unciv.utils.Concurrency
|
||||||
import com.unciv.utils.Log
|
import com.unciv.utils.Log
|
||||||
import com.unciv.utils.debug
|
import com.unciv.utils.debug
|
||||||
@ -200,7 +200,7 @@ class ModCheckTab(
|
|||||||
uniqueReplacementText += " <${conditional.text}>"
|
uniqueReplacementText += " <${conditional.text}>"
|
||||||
val replacementUnique = Unique(uniqueReplacementText)
|
val replacementUnique = Unique(uniqueReplacementText)
|
||||||
|
|
||||||
val modInvariantErrors = RulesetValidator(mod).checkUnique(
|
val modInvariantErrors = UniqueValidator(mod).checkUnique(
|
||||||
replacementUnique,
|
replacementUnique,
|
||||||
false,
|
false,
|
||||||
null,
|
null,
|
||||||
@ -211,7 +211,7 @@ class ModCheckTab(
|
|||||||
if (modInvariantErrors.isNotEmpty()) continue // errors means no autoreplace
|
if (modInvariantErrors.isNotEmpty()) continue // errors means no autoreplace
|
||||||
|
|
||||||
if (mod.modOptions.isBaseRuleset) {
|
if (mod.modOptions.isBaseRuleset) {
|
||||||
val modSpecificErrors = RulesetValidator(mod).checkUnique(
|
val modSpecificErrors = UniqueValidator(mod).checkUnique(
|
||||||
replacementUnique,
|
replacementUnique,
|
||||||
false,
|
false,
|
||||||
null,
|
null,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user