34 lines
860 B
GDScript
34 lines
860 B
GDScript
@tool
|
|
extends Button
|
|
|
|
class_name CustomCheckbox
|
|
|
|
@export var color: Color = Color(1,1,1,1):
|
|
set(value):
|
|
color = value
|
|
if is_inside_tree() and has_node("%ToggleTexture"):
|
|
$%ToggleTexture.modulate = color
|
|
|
|
@export var image: Texture:
|
|
set(value):
|
|
image = value
|
|
if is_inside_tree() and has_node("%Texture"):
|
|
$%Texture.texture = image
|
|
|
|
@export var image_toggle: Texture:
|
|
set(value):
|
|
image_toggle = value
|
|
if is_inside_tree() and has_node("%ToggleTexture"):
|
|
$%ToggleTexture.texture = image_toggle
|
|
|
|
func _ready():
|
|
if image != null and has_node("%Texture"):
|
|
$%Texture.texture = image
|
|
if image_toggle != null and has_node("%ToggleTexture"):
|
|
$%ToggleTexture.texture = image_toggle
|
|
$%ToggleTexture.modulate = color
|
|
$%ToggleTexture.visible = button_pressed
|
|
|
|
func _on_toggled(toggled_on: bool) -> void:
|
|
$%ToggleTexture.visible = toggled_on
|