@tool class_name ControllerButton extends ColorRect @onready var label_node: RichTextLabel = $Label @export var input_code: String @export var label: String: set(val): label = val if Engine.is_editor_hint() && self.label_node != null: self.label_node.text = label func _ready() -> void: if Config.buttons_labels.value: self.label_node.text = self.label else: self.label_node.text = "" var text_color: Color = Config.text_color.value self.label_node.add_theme_color_override("default_color", text_color) assert(self.input_code, "Missing input code for %s" % self.name) assert(InputMap.has_action(self.input_code), "Invalid input code for %s" % self.name)