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: Core
Source: 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[] rules
  • IPlacementContext 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