Skip to content

RuleCheckIndicatorLogic

Helper logic and diagnostics for RuleCheckIndicator.

Centralizes small, side-effect-free helpers used by tests and runtime tooling to avoid duplicating formatting and inspection code across test suites.

Functions here are pure (no printing/logging). Callers decide whether to log or attach strings to assertions.

static func build_rules_diag( ind: RuleCheckIndicator ) -> String

Build a concise rules diagnostic string for an indicator. ind: The indicator to inspect Returns: A short summary like: “rules=2 [{pass_on_collision=true, mask=1}, …]“

static func build_visuals_diag( ind: RuleCheckIndicator ) -> String

Build a visual/texture diagnostic for current indicator state. ind: The indicator to inspect Returns: A summary like: “display=valid_settings tex=(valid=true, invalid=false) modulate=Color(1,1,1,1)“

static func format_indicator_state( ind: RuleCheckIndicator, header: String, resource_path: String ) -> String

Build a full indicator state diagnostic formatted via GBDiagnostics. ind: The indicator to inspect header: Optional header line to prepend Returns: Multi-line diagnostic wrapped by GBDiagnostics.format_debug

static func build_rules_diag_from_rules( rules: Array ) -> String

Build a concise rules diagnostic from a rules array (no indicator object required)

static func build_visuals_diag_from_parts( current_display_settings: IndicatorVisualSettings, valid_settings: IndicatorVisualSettings, invalid_settings: IndicatorVisualSettings, validity_sprite: Sprite2D ) -> String

Build visuals diagnostic given discrete components (no indicator object required)

static func format_indicator_state_from_parts( valid: bool, collisions: int, global_position: Vector2, rules: Array, current_display_settings: IndicatorVisualSettings, valid_settings: IndicatorVisualSettings, invalid_settings: IndicatorVisualSettings, validity_sprite: Sprite2D, header: String, resource_path: String ) -> String

Format indicator state from small pieces of data (no indicator object required)

static func find_highest_rule_with_visual_settings( p_rules: Array[TileCheckRule] ) -> TileCheckRule

Find the rule with highest visual priority that defines fail_visual_settings.

static func validate_rules_from_rules_and_checker( p_rules: Array[TileCheckRule], failing_checker: Callable ) -> Array[TileCheckRule]

Validate the provided rules for the given indicator and return failing rules. This mirrors RuleCheckIndicator.validate_rules but as a pure function to aid testing.

static func choose_display_settings( p_display_rules: Array[TileCheckRule], p_is_valid: bool, valid_settings: IndicatorVisualSettings, invalid_settings: IndicatorVisualSettings ) -> IndicatorVisualSettings

Pick the appropriate display settings given validity state and failing rules.

addons/grid_building/placement/rule_check_indicator/rule_check_indicator_logic.gd


This API reference is automatically generated from the plugin source code. For implementation examples and usage guides, see the guides section.