Skip to content

PlacementRuleValidationLogic

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.

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 placements

additional_rules The rules that apply to specific placements

ignore_base Whether to ignore base rules completely and return only the additional_rules

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.