PlacementRuleValidationLogic

Combines base_rules that apply to...

sort Weight: 10

Combines base_rules that apply to all placements within a context with additional_rules that apply to specific placements[br] [br] [code]base_rules[/code] The rules that apply to all placements [br] [code]additional_rules[/code] The rules that apply to specific placements [br] [code]ignore_base[/code] Whether to ignore base rules completely and return only the additional_rules

Version: v5.0.0

STABLE

Inherits: RefCounted
Source: placement_rule_validator.gd
Parsing: AST-based for maximum accuracy with symbol typing


Methods

validate_placement_rules

Signature: static validate_placement_rules(rules: Array[PlacementRule]: Variant) -> ValidationResults

Returns validation results with rule-issue mappings.

Returns: ValidationResults

Static: true

Parameters:

  • rules: Array[PlacementRule]: Variant

cleanup_null_indicators_from_rules

Signature: static cleanup_null_indicators_from_rules(rules: Array[PlacementRule]: Variant) -> int

Returns count of cleaned indicators.

Returns: int

Static: true

Parameters:

  • rules: Array[PlacementRule]: Variant

validate_validation_prerequisites

Signature: static validate_validation_prerequisites(rules: Array[PlacementRule]: Variant) -> Array

Returns array of prerequisite issues.

Returns: Array

Static: true

Parameters:

  • rules: Array[PlacementRule]: Variant

setup_rules

Signature: static setup_rules(rules: Array[PlacementRule]: Variant, p_gts : GridTargetingState: Variant) -> Dictionary

Returns dictionary of issues for each rule that failed setup

Returns: Dictionary

Static: true

Parameters:

  • rules: Array[PlacementRule]: Variant
  • p_gts : GridTargetingState: Variant

are_rules_ready

Signature: static are_rules_ready(rules: Array[PlacementRule]: Variant) -> bool

Pure function to check if rules are ready for validation

Returns: bool

Static: true

Parameters:

  • rules: Array[PlacementRule]: Variant

combine_rules

Signature: static combine_rules(base_rules: Array[PlacementRule]: Variant, additional_rules: Array[PlacementRule]: Variant, ignore_base: bool = false) -> Array

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

Returns: Array

Static: true

Parameters:

  • base_rules: Array[PlacementRule]: Variant
  • additional_rules: Array[PlacementRule]: Variant
  • ignore_base: bool (optional, default: false)