TargetHighlighter
Summary
Section titled “Summary”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)
Properties
Section titled “Properties”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
Methods
Section titled “Methods”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 settingsfunc 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 onp_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 onp_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 onfunc 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 againstp_target
: CanvasItem - Target canvas item to check for highlightingfunc 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
Source
Section titled “Source”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.