RuleCheckIndicator

Helpers to read debug tuning values from GBDebugSettings (if available).

sort Weight: 10

Helpers to read debug tuning values from GBDebugSettings (if available).

Version: v5.0.0

STABLE

Inherits: ShapeCast2D
Source: rule_check_indicator.gd
Parsing: AST-based for maximum accuracy with symbol typing


Constants

LogLevel

Value: GBDebugSettings.LogLevel


Variables

_show_indicators: bool

Type: bool

Default: true


_logger: GBLogger

purposes and contact information printed in output

Type: GBLogger


_debug_draw_enabled:

Cache whether debug drawing should be active to avoid checking each frame


_last_invalid_rule_count:


_last_logged_valid:


_post_ready_visuals_applied:


_rules: Array[TileCheckRule]

Type: Array[TileCheckRule]

Default: []


_current_display_settings: IndicatorVisualSettings

Type: IndicatorVisualSettings

Default: null


current_display_settings: IndicatorVisualSettings

Type: IndicatorVisualSettings

Default: null :


_valid: bool

Type: bool

Default: false


Signals

valid_changed(is_valid : bool: Variant)

Emitted when validity status changes.

Parameters:

  • is_valid : bool: Variant

Methods

_init

Signature: _init(p_rules : Array[TileCheckRule] = []: Variant) -> void

Returns: void

Parameters:

  • p_rules : Array[TileCheckRule] = []: Variant

_ready

Signature: _ready() -> void

Set target_position to zero for proper tile alignment in tests

Returns: void


_physics_process

Signature: _physics_process(_delta: float) -> void

This keeps visual feedback immediately responsive to dynamic collision or rule state changes.

Returns: void

Parameters:

  • _delta: float

resolve_gb_dependencies

Signature: resolve_gb_dependencies(p_container : GBCompositionContainer: Variant) -> void

Resolve dependencies for the indicator

Returns: void

Parameters:

  • p_container : GBCompositionContainer: Variant

get_rules

Signature: get_rules() -> Array

Returns the active tile check rules assigned to this indicator.

Returns: Array


add_rule

Signature: add_rule(p_rule : TileCheckRule: Variant) -> void

p_rule: TileCheckRule - Rule to add to this indicator

Returns: void

Parameters:

  • p_rule : TileCheckRule: Variant

_on_tree_entered_validate

Signature: _on_tree_entered_validate() -> void

Only connect if not already connected to avoid duplicate connection errors

Returns: void


get_tile_position

Signature: get_tile_position(p_map : TileMapLayer: Variant) -> Vector2i

p_map: TileMapLayer - TileMapLayer to convert global position to tile coordinates

Returns: Vector2i

Parameters:

  • p_map : TileMapLayer: Variant

clear

Signature: clear() -> void

Clears reference to self from all rule indicator arrays

Returns: void


validate_rules

Signature: validate_rules(p_rules : Array[TileCheckRule]: Variant) -> Array

p_rules: Array[TileCheckRule] - Array of rules to validate against this indicator

Returns: Array

Parameters:

  • p_rules : Array[TileCheckRule]: Variant

_indicator_debug_enabled

Signature: _indicator_debug_enabled() -> bool

p_display_settings: IndicatorVisualSettings - Visual settings to apply to the indicator

Returns: bool


_indicator_log_enabled

Signature: _indicator_log_enabled() -> bool

This is stricter than _indicator_debug_enabled: requires explicit toggle or env var.

Returns: bool


_update_visuals

Signature: _update_visuals(p_display_settings : IndicatorVisualSettings: Variant) -> Sprite2D

Returns: Sprite2D

Parameters:

  • p_display_settings : IndicatorVisualSettings: Variant

_update_current_display_settings

Signature: _update_current_display_settings(p_display_rules : Array[TileCheckRule]: Variant, p_is_valid = null: Variant) -> void

based on validity and highest rule visual priority

Returns: void

Parameters:

  • p_display_rules : Array[TileCheckRule]: Variant
  • p_is_valid = null: Variant

_find_highest_rule_with_visual_settings

Signature: _find_highest_rule_with_visual_settings(p_rules : Array[TileCheckRule]: Variant) -> TileCheckRule

p_rules: Array[TileCheckRule] - Array of rules to check for highest priority

Returns: TileCheckRule

Parameters:

  • p_rules : Array[TileCheckRule]: Variant

_draw

Signature: _draw() -> void

Draws debug visuals for collision contact points only.

Returns: void


get_debug_info

Signature: get_debug_info() -> Dictionary

Get current state information for debugging

Returns: Dictionary


validate_runtime

Signature: validate_runtime() -> bool

Returns: bool


trace_runtime_if_enabled

Signature: trace_runtime_if_enabled() -> void

Highly verbose logging of the RuleCheckIndicator during runtime. Will only process if GBLogger is set to Trace verbosity (very high!)

Returns: void


get_runtime_issues

Signature: get_runtime_issues() -> Array

[return] Array[String] - Returns array of issues found

Returns: Array


get_editor_issues

Signature: get_editor_issues() -> Array

Returns array of issues found

Returns: Array


_on_debug_settings_changed

Signature: _on_debug_settings_changed() -> void

Reuse shape check for editor as well

Returns: void


_update_debug_cached_state

Signature: _update_debug_cached_state() -> void

Recompute whether debug drawing should be enabled

Returns: void


update_validity_state

Signature: update_validity_state() -> bool

Update the validity of the rule check indicator by validating all rules attached

Returns: bool


force_validity_evaluation

Signature: force_validity_evaluation() -> bool

and a check for the validity of each rule given the new shapecast state

Returns: bool


_on_valid_changed

Signature: _on_valid_changed(is_valid : bool: Variant) -> void

Callback when validity changes

Returns: void

Parameters:

  • is_valid : bool: Variant

_debug_setting_float_or

Signature: _debug_setting_float_or(default_value: float, getter_name: String) -> float

Helpers to read debug tuning values from GBDebugSettings (if available).

Returns: float

Parameters:

  • default_value: float
  • getter_name: String

_debug_setting_color_or

Signature: _debug_setting_color_or(default_value: Color, getter_name: String) -> Color

Helpers to read debug tuning values from GBDebugSettings (if available).

Returns: Color

Parameters:

  • default_value: Color
  • getter_name: String