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_placement_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 PlacementControl
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 = PlacementObjectUtils.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
get_targeting_state
func get_targeting_state() -> GridTargetingState:
Returns
set_targeting_state
func set_targeting_state(p_state: GridTargetingState) -> void:
Parameters
p_state
Returns
get_building_state
func get_building_state() -> PlacementState:
Returns
set_building_state
func set_building_state(p_state: PlacementState) -> void:
Parameters
p_state
Returns
get_manipulation_state
func get_manipulation_state() -> ManipulationState:
Returns
set_manipulation_state
func set_manipulation_state(p_state: ManipulationState) -> void:
Parameters
p_state
Returns
get_mode_state
func get_mode_state() -> ModeState:
Returns
set_mode_state
func set_mode_state(p_mode_state: ModeState) -> void:
Parameters
p_mode_state
Returns
resolve_placement_dependencies
func resolve_placement_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: