PlacementRuleValidationLogic
Summary
Section titled “Summary”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.
Methods
Section titled “Methods”static func validate_placement_rules( rules: Array[PlacementRule] ) -> ValidationResults
Pure function to validate a set of rules and return results. No side effects - just validates rules and collects issues. Returns validation results with rule-issue mappings.
static func cleanup_null_indicators_from_rules( rules: Array[PlacementRule] ) -> int
Pure function to clean null indicators from tile check rules. Returns count of cleaned indicators.
static func validate_validation_prerequisites( rules: Array[PlacementRule] ) -> Array[String]
Pure function to validate prerequisites for rule validation. Returns array of prerequisite issues.
static func setup_rules( rules: Array[PlacementRule], p_gts: GridTargetingState ) -> Dictionary
Extract rule setup logic Returns dictionary of issues for each rule that failed setup
static func are_rules_ready( rules: Array[PlacementRule] ) -> bool
Pure function to check if rules are ready for validation
static func combine_rules( base_rules: Array[PlacementRule], additional_rules: Array[PlacementRule], ignore_base: bool ) -> Array[PlacementRule]
Combines base_rules that apply to all placements within a context with additional_rules that apply to specific placements
base_rules
The rules that apply to all placementsadditional_rules
The rules that apply to specific placementsignore_base
Whether to ignore base rules completely and return only the additional_rules
Source
Section titled “Source”addons/grid_building/placement/placement_rules/placement_rule_validator.gd
This API reference is automatically generated from the plugin source code. For implementation examples and usage guides, see the guides section.