34 lines
1.1 KiB
GDScript
34 lines
1.1 KiB
GDScript
@tool
|
|
class_name ControllerTrigger
|
|
extends ProgressBar
|
|
|
|
@onready var label_node: RichTextLabel = $Label
|
|
@onready var progress_label: RichTextLabel = $ProgressLabel
|
|
|
|
@export var input_axis: JoyAxis
|
|
@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 = ""
|
|
self.progress_label.text = ""
|
|
|
|
var bg_color: Color = Config.default_color.value
|
|
var fill_color: Color = Config.active_color.value
|
|
(self.get_theme_stylebox("background") as StyleBoxFlat).border_color = bg_color
|
|
(self.get_theme_stylebox("fill") as StyleBoxFlat).bg_color = fill_color
|
|
|
|
var text_color: Color = Config.text_color.value
|
|
self.label_node.add_theme_color_override("default_color", text_color)
|
|
self.progress_label.add_theme_color_override("default_color", text_color)
|
|
|
|
func _process(_delta: float) -> void:
|
|
if !Engine.is_editor_hint() && Config.buttons_labels.value:
|
|
self.progress_label.text = "%s%%" % str(self.value * 100.0)
|