RuleCheckIndicator
Helpers to read debug tuning values from GBDebugSettings (if available).
Helpers to read debug tuning values from GBDebugSettings (if available).
Version: v5.0.0
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]: Variantp_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: floatgetter_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: Colorgetter_name: String