GBActionLog

Handles mode change events and outputs to action log if enabled

sort Weight: 10

Handles mode change events and outputs to action log if enabled

Version: v5.0.0

STABLE

Inherits: GBControl
Source: gb_action_log.gd
Parsing: AST-based for maximum accuracy with symbol typing


Constants

REQUIRED_DEPENDENCIES:

Constants for validation


Variables

_settings: ActionLogSettings

Build log settings injected from centralized configuration (private)

Type: ActionLogSettings


_building_state: BuildingState

Type: BuildingState


_manipulation_state: ManipulationState

Type: ManipulationState


_mode_state: ModeState

Type: ModeState


_debug: GBDebugSettings

Type: GBDebugSettings


_actions: GBActions

Type: GBActions


_logger: GBLogger

Type: GBLogger


Methods

_disconnect_building_state

Signature: _disconnect_building_state() -> void

DRY helper: Disconnect building state signals

Returns: void


_connect_building_state

Signature: _connect_building_state() -> void

DRY helper: Connect building state signals

Returns: void


_disconnect_manipulation_state

Signature: _disconnect_manipulation_state() -> void

DRY helper: Disconnect manipulation state signals

Returns: void


_connect_manipulation_state

Signature: _connect_manipulation_state() -> void

DRY helper: Connect manipulation state signals

Returns: void


_disconnect_mode_state

Signature: _disconnect_mode_state() -> void

DRY helper: Disconnect mode state signals

Returns: void


_connect_mode_state

Signature: _connect_mode_state() -> void

DRY helper: Connect mode state signals

Returns: void


_ready

Signature: _ready() -> void

Returns: void


resolve_gb_dependencies

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

Only show on_ready_message if settings are already injected

Returns: void

Parameters:

  • p_container : GBCompositionContainer: Variant

clear_log

Signature: clear_log() -> void

Returns: void


get_settings

Signature: get_settings() -> ActionLogSettings

Public getter for testing and external access

Returns: ActionLogSettings


validate_setup

Signature: validate_setup() -> bool

Validates that all required dependencies are present

Returns: bool


append_validation_results

Signature: append_validation_results(p_results : ValidationResults: Variant) -> void

Adds validation results to the log as settings request.

Returns: void

Parameters:

  • p_results : ValidationResults: Variant

append_placement_report_issues

Signature: append_placement_report_issues(p_report: PlacementReport) -> void

DRY helper: Adds placement report issues to the log

Returns: void

Parameters:

  • p_report: PlacementReport

_append_issues_list

Signature: _append_issues_list(issues: Array[String]: Variant) -> void

DRY helper: Appends a list of issue strings to the message log

Returns: void

Parameters:

  • issues: Array[String]: Variant

append_manipulation

Signature: append_manipulation(p_data : ManipulationData: Variant) -> void

Returns: void

Parameters:

  • p_data : ManipulationData: Variant

should_show

Signature: should_show(p_action : GBEnums.Action: Variant) -> bool

Checks whether the action data should show in the log or not.

Returns: bool

Parameters:

  • p_action : GBEnums.Action: Variant

_print_reasons

Signature: _print_reasons(p_rule_results : Dictionary[PlacementRule: Variant, RuleResult]: Variant, p_failed_only : bool = true: Variant) -> void

p_failed_only: bool - Whether to print only failed results (default true)

Returns: void

Parameters:

  • p_rule_results : Dictionary[PlacementRule: Variant
  • RuleResult]: Variant
  • p_failed_only : bool = true: Variant

_get_display_name_safe

Signature: _get_display_name_safe(obj: Node) -> String

DRY helper: Determines display name for objects with fallback

Returns: String

Parameters:

  • obj: Node

_handle_build_result

Signature: _handle_build_result(p_data: BuildActionData, is_success: bool) -> void

DRY helper: Handles color and message formatting for build results

Returns: void

Parameters:

  • p_data: BuildActionData
  • is_success: bool

_on_build_success

Signature: _on_build_success(p_data: BuildActionData) -> void

Only show detailed failure reasons if enabled in settings

Returns: void

Parameters:

  • p_data: BuildActionData

_on_build_failed

Signature: _on_build_failed(p_data: BuildActionData) -> void

Returns: void

Parameters:

  • p_data: BuildActionData

_handle_manipulation_result

Signature: _handle_manipulation_result(p_data: ManipulationData, is_finished: bool) -> void

DRY helper: Handles manipulation result display with consistent color coding

Returns: void

Parameters:

  • p_data: ManipulationData
  • is_finished: bool

_on_manipulation_started

Signature: _on_manipulation_started(p_data : ManipulationData: Variant) -> void

Determine success state and color

Returns: void

Parameters:

  • p_data : ManipulationData: Variant

_on_manipulation_failed

Signature: _on_manipulation_failed(p_data : ManipulationData: Variant) -> void

Use neutral color for started messages (not success/failure yet)

Returns: void

Parameters:

  • p_data : ManipulationData: Variant

_on_manipulation_finished

Signature: _on_manipulation_finished(p_data : ManipulationData: Variant) -> void

Returns: void

Parameters:

  • p_data : ManipulationData: Variant

_on_mode_changed

Signature: _on_mode_changed(p_mode: GBEnums.Mode: Variant) -> void

Handles mode change events and outputs to action log if enabled

Returns: void

Parameters:

  • p_mode: GBEnums.Mode: Variant