Class TargetInformer
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
Display UI for showing information about objects being targeted, manipulated, or built [br][br] TargetInformer provides a dynamic UI component that displays object information based on the current game state. It responds to three different contexts with clear priority:[br] [br] [b]Priority System:[/b][br] 1. [b]Manipulation[/b] (Highest Priority): Shows info for actively manipulated objects[br] 2. [b]Building[/b]: Shows info for building preview objects[br] 3. [b]Targeting[/b] (Lowest Priority): Shows info for hovered/targeted objects[br] [br] [b]Signal Flow:[/b][br] - [code]GridTargetingState.target_changed[/code] → Updates display on hover[br] - [code]ManipulationState.active_target_node_changed[/code] → Overrides targeting info[br] - [code]PlacementState.preview_changed[/code] → Shows building preview info[br] [br] [b]Usage:[/b][br] [codeblock] var informer = TargetInformer.new() add_child(informer) informer.resolve_gb_dependencies(composition_container) # Now responds automatically to targeting/manipulation/building changes [/codeblock] [br] Override [code]_to_string()[/code] on displayed object nodes to show custom names
class TargetInformer extends GBControl
Properties
target
@export var target: Node:
info_parent
@export var info_parent: Control
states
var states = p_container.get_states()
display_name
var display_name = GBObjectUtils.get_display_name(target)
label
var label = Label.new()
x_str
var x_str = str(p_target.global_position.x).pad_decimals(_settings.position_decimals)
y_str
var y_str = str(p_target.global_position.y).pad_decimals(_settings.position_decimals)
Methods
resolve_gb_dependencies
func resolve_gb_dependencies(p_container: PlacementContainer) -> void:
Parameters
p_container
Returns
clear
func clear() -> void:
Returns
refresh
func refresh() -> void:
Returns
setup
func setup() -> void:
Returns
add_info_label
func add_info_label(p_text: String) -> Label:
Parameters
p_text
Returns
track_manipulatable_target
func track_manipulatable_target() -> void: