PlacementRuleValidationLogic

AUTO-GENERATED FILE – DO NOT EDIT MANUALLY

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.

Source File: addons/grid_building/placement/placement_rules/placement_rule_validator.gd

Extends: RefCounted

Public Methods

validate_placement_rules

1
validate_placement_rules(rules: Array[PlacementRule]) -> ValidationResults

Flags: static

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.


cleanup_null_indicators_from_rules

1
cleanup_null_indicators_from_rules(rules: Array[PlacementRule]) -> int

Flags: static

Pure function to clean null indicators from tile check rules. Returns count of cleaned indicators.


validate_validation_prerequisites

1
validate_validation_prerequisites(rules: Array[PlacementRule]) -> Array[String]

Flags: static

Pure function to validate prerequisites for rule validation. Returns array of prerequisite issues.


setup_rules

1
2
3
4
setup_rules(
    rules: Array[PlacementRule],
    p_gts : GridTargetingState
) -> Dictionary

Flags: static

Extract rule setup logic Returns dictionary of issues for each rule that failed setup


are_rules_ready

1
are_rules_ready(rules: Array[PlacementRule]) -> bool

Flags: static

Pure function to check if rules are ready for validation


combine_rules

1
2
3
4
5
combine_rules(
    base_rules: Array[PlacementRule],
    additional_rules: Array[PlacementRule],
    ignore_base: bool = false
) -> Array[PlacementRule]

Flags: static

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