1
0
Fork 0
spacetac/core/ui/command.gd

42 lines
822 B
GDScript3
Raw Normal View History

2022-10-20 23:16:48 +00:00
@tool
extends Composer
class_name Command
signal clicked
@export var icon: Texture2D:
set(val):
if val is Texture2D:
icon = val
else:
icon = PlaceholderTexture2D.new()
_check_compose()
2022-10-23 22:50:48 +00:00
@export var color: Color:
set(val):
if val is Color:
color = val
else:
color = Color.BLACK
_check_compose()
2022-10-20 23:16:48 +00:00
@export var code: String
func _compose():
$badge/icon.texture = icon
2022-10-23 22:50:48 +00:00
$badge.self_modulate = color
2022-10-20 23:16:48 +00:00
super._compose()
func _on_click_input_event(viewport, event, shape_idx):
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_LEFT:
get_viewport().set_input_as_handled()
clicked.emit()
func apply(container: Node2D, pos: Vector2):
if get_parent() != container:
if get_parent():
get_parent().remove_child(self)
container.add_child(self)
position = pos