Class PlacementRuleValidationLogic
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
Pure logic class for placement rule validation. Contains no state and can be easily tested in isolation. Focuses on core validation logic without orchestration concerns.
class PlacementRuleValidationLogic extends RefCounted
PlacementRuleValidationLogic
Properties
results
var results = ValidationResults.new()
rule_result
var rule_result: RuleResult = rule.validate_placement()
cleaned_count
var cleaned_count = 0
tile_rule
var tile_rule = rule as TileCheckRule
i
var i = 0
issues
var issues: Dictionary = {}
invalid_count
var invalid_count: int = 0
issues
var issues: Dictionary = {}
rule_issues
var rule_issues = rule.setup(p_gts)
combined_rules
var combined_rules: Array[PlacementRule] = []
unique_rules
var unique_rules: Array[PlacementRule] = []
Methods
validate_placement_rules
static func validate_placement_rules(rules: Array[PlacementRule]) -> ValidationResults:
Parameters
rules
Returns
cleanup_null_indicators_from_rules
static func cleanup_null_indicators_from_rules(rules: Array[PlacementRule]) -> int:
Parameters
rules
Returns
validate_validation_prerequisites
static func validate_validation_prerequisites(rules: Array[PlacementRule]) -> Array[String]:
Parameters
rules
Returns
setup_rules
static func setup_rules(rules: Array[PlacementRule], p_gts : GridTargetingState) -> Dictionary:
Parameters
rulesp_gts
Returns
are_rules_ready
static func are_rules_ready(rules: Array[PlacementRule]) -> bool:
Parameters
rules
Returns
combine_rules
static func combine_rules(base_rules: Array[PlacementRule], additional_rules: Array[PlacementRule], ignore_base: bool = false) -> Array[PlacementRule]:
Parameters
base_rulesadditional_rulesignore_base