PlacementRuleValidationLogic
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. Ported from: godot/addons/grid_building/systems/placement/validators/placement_rules/placement_rule_validation_logic.gd
Project: GridPlacement v6.0
Layer: Godot
Source: Godot/Core/Validation/PlacementRuleValidationLogic.cs
Namespace: GridBuilding.Core.Validation
Kind: class
Parsing Method: AST-based (Roslyn) - NOT regex
⚠️ IMPORTANT: This documentation was generated using AST parsing, not regex.
Methods
ValidatePlacementRules
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.
Returns: ValidationResult
Parameters:
IPlacementRule[] rules
ValidateValidationPrerequisites
Pure function to validate prerequisites for rule validation. Returns array of prerequisite issues.
Returns: List<string>
Parameters:
IPlacementRule[] rules
SetupRules
Pure function to extract rule setup logic. Returns dictionary of issues for each rule that failed setup.
Returns: Dictionary<string, List<string>>
Parameters:
IPlacementRule[] rulesIPlacementContext context
CleanupInvalidRules
Pure function to clean up invalid rules from an array. Returns cleaned array and count of removed rules.
Returns: (IPlacementRule[] cleanedRules, int removedCount)
Parameters:
IPlacementRule[] rules
GetValidationStatistics
Pure function to get validation statistics for a set of rules. Returns dictionary with validation metrics.
Returns: Dictionary<string, int>
Parameters:
ValidationResult results