pir-serious-game-ethics/addons/dialogic/Editor/Events/SetTheme.gd

44 lines
1.2 KiB
GDScript3
Raw Normal View History

tool
extends Control
var editor_reference
var editorPopup
# This is the information of this event and it will get parsed and saved to the JSON file.
var event_data = {
'set_theme': ''
}
func _ready():
$PanelContainer/VBoxContainer/Header/MenuButton.get_popup().connect(
"index_pressed", self, '_on_theme_selected')
func load_data(data):
event_data = data
if event_data['set_theme'] != '':
for theme in DialogicUtil.get_theme_list():
if theme['file'] == event_data['set_theme']:
$PanelContainer/VBoxContainer/Header/MenuButton.text = theme['name']
func _on_MenuButton_about_to_show():
var Dropdown = $PanelContainer/VBoxContainer/Header/MenuButton
2021-03-25 22:52:07 +01:00
var theme_list = DialogicUtil.get_sorted_theme_list()
var index = 0
Dropdown.get_popup().clear()
for theme in theme_list:
Dropdown.get_popup().add_item(theme['name'])
Dropdown.get_popup().set_item_metadata(index, {'file': theme['file']})
index += 1
func _on_theme_selected(index):
var text = $PanelContainer/VBoxContainer/Header/MenuButton.get_popup().get_item_text(index)
var metadata = $PanelContainer/VBoxContainer/Header/MenuButton.get_popup().get_item_metadata(index)
$PanelContainer/VBoxContainer/Header/MenuButton.text = text
event_data['set_theme'] = metadata['file']