Files
2025-09-13 16:30:32 +01:00

40 lines
969 B
GDScript

extends Control
var current_theme := "Overworld"
const THEME_ICONS_DAY = preload("uid://cw5c58yiaeh4j")
const THEME_ICONS_NIGHT = preload("uid://bds7ota87jglw")
signal level_theme_changed
func _ready() -> void:
update()
grab_themes()
func grab_themes() -> void:
for i in %ThemeContainer.get_children():
i.get_node("Button").pressed.connect(theme_selected.bind(i.name))
func open() -> void:
update()
show()
func close() -> void:
hide()
func update() -> void:
for i in %ThemeContainer.get_children():
i.get_node("Checkbox").visible = current_theme == i.name
i.texture = [THEME_ICONS_DAY, THEME_ICONS_NIGHT][["Day", "Night"].find(Global.theme_time)]
func theme_selected(theme_name := "") -> void:
current_theme = theme_name
Global.level_theme = current_theme
Global.current_level.theme = current_theme
level_theme_changed.emit()
ResourceSetterNew.cache.clear()
ResourceSetter.cache.clear()
Global.level_theme_changed.emit()
update()
close()