Grid Placement

PlacementValidator

AUTO-GENERATED (GDScript) API entry

AUTO-GENERATED FILE — DO NOT EDIT MANUALLY

Source: placement/manager/components/placement_validator.gd

Version: 5.0

class_name: PlacementValidator extends: GBInjectable

Signals

  • finished(results: ValidationResults)
    • Emitted when the setup failed
    • Creates a PlacementValidator with dependency injection from container.
    • Container serves as single source of truth for all dependencies.
    • Parameters:
    • container: GBCompositionContainer - The dependency container
    • Returns:
    • PlacementValidator - Fully configured placement validator with validated dependencies
  • setup_failed(issues: Dictionary, Array])
    • Creates a PlacementValidator with dependency injection from container.
    • Container serves as single source of truth for all dependencies.
    • Parameters:
    • container: GBCompositionContainer - The dependency container
    • Returns:
    • PlacementValidator - Fully configured placement validator with validated dependencies

Exports

(none)

Methods

  • create_with_injection(container: GBCompositionContainer) -> PlacementValidator
    • Get dependencies from container as single source of truth
  • _init(p_base_rules: Array, p_logger: GBLogger) -> void
  • resolve_gb_dependencies(container: GBCompositionContainer) -> bool
  • get_runtime_issues -> Array
  • validate_placement -> ValidationResults
    • Check prerequisites using pure logic
  • _handle_validation_orchestration(results: ValidationResults) -> void
    • Log issues if any exist (as verbose, not warnings - this is normal gameplay feedback)
  • _setup_rules(p_rules: Array, p_gts: GridTargetingState) -> Dictionary
  • setup(p_rules: Array, p_gts: GridTargetingState) -> Dictionary
  • get_combined_rules(p_outside_rules: Array, p_ignore_base = false) -> Array
    • Use pure logic class for rule combination
  • _pre_check_tile_rules(p_tile_check_rules: Array)
  • tear_down
  • apply_rules
  • _add_rules_to_test(p_placementing_rules: Array, p_gts: GridTargetingState) -> bool