Skip to content

TargetHighlighter

When a target node is set on the build state, marks it by colors based on the settings of its Manipulatable node (or lack thereof)

mode_state: ModeState
targeting_state: GridTargetingState :
manipulation_state: ManipulationState :
highlight_settings: HighlightSettings

Holds color settings for how a highlighted target should be displayed in the game world

current_target: CanvasItem :

The currently highlighter target. When set to a new value, the old one’s modulate clears automatically

func resolve_gb_dependencies( p_container: GBCompositionContainer ) -> void

Resolves dependencies from the composition container. Sets up mode state, targeting state, manipulation state, and highlight settings.

p_container: GBCompositionContainer - Container with system dependencies and settings

func set_movable_display( p_target: CanvasItem, p_movable: bool ) -> Color

Sets a canvas item modulate to either the valid or invalid move color. Returns the new modulate color.

p_target: CanvasItem - Target canvas item to set modulate color on

p_movable: bool - Whether the target is movable (valid) or not (invalid)

func set_demolish_display( p_target: CanvasItem, p_demolishable: bool ) -> Color

Sets a canvas item modulate to either the valid or invalid demolish color. Returns the new modulate color.

p_target: CanvasItem - Target canvas item to set modulate color on

p_demolishable: bool - Whether the target is demolishable (valid) or not (invalid)

func set_build_preview_display( p_target: CanvasItem )

Setsthe color of a build preview to the preview color

func set_info_display( p_target: CanvasItem )
func set_actionable_colors( p_target: CanvasItem ) -> Color

Sets the target modulate to colors based on current mode actionability. Changes color based on whether the target can be affected by the current mode’s action.

p_target: CanvasItem - Target canvas item to set actionable colors on

func should_highlight( p_data: ManipulationData, p_target: CanvasItem ) -> bool

Checks if the highlighter should highlight the target based on manipulation data. Returns true if the target matches the manipulation data target.

p_data: ManipulationData - Current manipulation data to compare against

p_target: CanvasItem - Target canvas item to check for highlighting

func is_locked( ) -> bool

Returns true if the highlighter is locked by active manipulation state. A locked highlighter won’t respond to target changes until manipulation finishes.

func get_runtime_issues( ) -> Array[String]

Validates that all required dependencies are properly set. Returns true if all dependencies are valid, false otherwise.

func _on_data_changed( p_manipulation: ManipulationData )
func _on_started( p_data: ManipulationData )

Move the modulate to the manipulation target and set the manipulation color

func _on_canceled( p_data: ManipulationData )

Return the modulate to the highlighter and set the color to the default

func _on_finished( p_data: ManipulationData )
func _on_target_changed( p_target: Node, p_old: Node )

Response for when the grid targeting state target changes

func _on_mode_changed( p_mode: GBEnums.Mode )

Refresh colors when mode changes (e.g. MOVE -> DEMOLISH) for the same target

func _is_preview_object( p_target: CanvasItem ) -> bool

Check if the target is a preview object (has building_node script attached) Returns true if the target has the building_node script, indicating it’s a preview object

addons/grid_building/components/target_highlighter.gd


This API reference is automatically generated from the plugin source code. For implementation examples and usage guides, see the guides section.