SpielBackupAlt/addons/dialogic/Editor/Events/Parts/Logic/EventPart_Save.gd

54 lines
1.7 KiB
GDScript
Executable File

tool
extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd"
# has an event_data variable that stores the current data!!!
## node references
onready var slot_picker = $MenuButton
onready var custom_slot = $CustomSlot
# used to connect the signals
func _ready():
custom_slot.connect("text_changed", self, '_on_CustomSlot_text_changed')
slot_picker.get_popup().connect("index_pressed", self, "on_SlotPicker_index_pressed")
slot_picker.get_popup().clear()
slot_picker.get_popup().add_icon_item(get_icon("Save", "EditorIcons"), "Default slot")
slot_picker.get_popup().add_icon_item(get_icon("Tools", "EditorIcons"), "Custom slot")
slot_picker.custom_icon = get_icon("Save", "EditorIcons")
# called by the event block
func load_data(data:Dictionary):
# First set the event_data
.load_data(data)
# Now update the ui nodes to display the data.
if event_data.get('use_default_slot', true):
slot_picker.text = "Default slot"
else:
slot_picker.text = "Custom slot"
custom_slot.text = event_data.get('custom_slot', '')
custom_slot.visible = not event_data.get('use_default_slot', true)
func on_SlotPicker_index_pressed(index):
event_data['use_default_slot'] = index == 0
# Now update the ui nodes to display the data.
if event_data.get('use_default_slot', true):
slot_picker.text = "Default slot"
else:
slot_picker.text = "Custom slot"
custom_slot.text = event_data.get('custom_slot', '')
custom_slot.visible = not event_data.get('use_default_slot', true)
# informs the parent about the changes!
data_changed()
func _on_CustomSlot_text_changed(text):
event_data['custom_slot'] = text
# informs the parent about the changes!
data_changed()