RuleCheckIndicatorLogic
Summary
Section titled “Summary”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.
Methods
Section titled “Methods”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 inspectheader
: Optional header line to prepend Returns: Multi-line diagnostic wrapped by GBDiagnostics.format_debugstatic 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.
Source
Section titled “Source”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.