PlacementRuleValidationLogic
Combines base_rules that apply to...
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
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]: Variantp_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]: Variantadditional_rules: Array[PlacementRule]: Variantignore_base: bool(optional, default:false)