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

39 lines
659 B
GDScript

@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()
@export var color: Color:
set(val):
if val is Color:
color = val
else:
color = Color.BLACK
_check_compose()
@export var code: String
func _compose():
%icon.texture = icon
%badge.self_modulate = color
super._compose()
func apply(container: Node2D, pos: Vector2):
if get_parent() != container:
if get_parent():
get_parent().remove_child(self)
container.add_child(self)
position = pos
func _on_badge_pressed():
clicked.emit()