PreviewBuilder

Optional: Check if a preview is currently being shown.

sort Weight: 10

Optional: Check if a preview is currently being shown.

Version: v5.0.0

STABLE

Inherits: GBInjectable
Source: preview_builder.gd
Parsing: AST-based for maximum accuracy with symbol typing


Variables

_preview_factory:


_current_preview:


_building_state: BuildingState

Type: BuildingState


_targeting_state: GridTargetingState

Type: GridTargetingState


_logger:


_building_settings:


Methods

_init

Signature: _init(p_building_settings: BuildingSettings, p_targeting_state: GridTargetingState, p_building_state : BuildingState: Variant, p_logger: GBLogger) -> void

Returns: void

Parameters:

  • p_building_settings: BuildingSettings
  • p_targeting_state: GridTargetingState
  • p_building_state : BuildingState: Variant
  • p_logger: GBLogger

from_container

Signature: static from_container(container: GBCompositionContainer) -> PreviewBuilder

PreviewBuilder - constructed and wired, or null on failure

Returns: PreviewBuilder

Static: true

Parameters:

  • container: GBCompositionContainer

resolve_gb_dependencies

Signature: resolve_gb_dependencies(container: GBCompositionContainer) -> bool

Returns: bool - True if dependencies were found, false otherwise.

Returns: bool

Parameters:

  • container: GBCompositionContainer

get_runtime_issues

Signature: get_runtime_issues() -> Array

Array[String] - List of validation issues (empty if valid)

Returns: Array


initialize

Signature: initialize(p_building_settings: BuildingSettings, p_targeting_state: GridTargetingState, p_building_state : BuildingState: Variant, p_logger: GBLogger) -> void

Returns: void

Parameters:

  • p_building_settings: BuildingSettings
  • p_targeting_state: GridTargetingState
  • p_building_state : BuildingState: Variant
  • p_logger: GBLogger

create_preview

Signature: create_preview(p_placeable: Placeable) -> Node2D

Clears the previous one if active.

Returns: Node2D

Parameters:

  • p_placeable: Placeable

get_preview

Signature: get_preview() -> Node2D

Get the object current previewed for placement

Returns: Node2D


clear_preview

Signature: clear_preview() -> void

Frees the active preview node.

Returns: void


align_to_grid

Signature: align_to_grid(collision_shape_global_position : Vector2: Variant) -> void

Free the node

Returns: void

Parameters:

  • collision_shape_global_position : Vector2: Variant

update_position

Signature: update_position(p_position: Vector2) -> void

Repositions the preview in world space.

Returns: void

Parameters:

  • p_position: Vector2

has_active_preview

Signature: has_active_preview() -> bool

Optional: Check if a preview is currently being shown.

Returns: bool