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

45 lines
1.3 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 = {
'condition': '==',
'definition': '',
'value': ''
}
onready var nodes = {
'definition_picker': $PanelContainer/VBoxContainer/Header/DefinitionPicker,
'condition_picker': $PanelContainer/VBoxContainer/Header/ConditionPicker,
}
func _ready():
nodes['definition_picker'].get_popup().connect("index_pressed", self, '_on_definition_entry_selected')
nodes['condition_picker'].get_popup().connect("index_pressed", self, '_on_condition_entry_selected')
$PanelContainer/VBoxContainer/Header/CustomLineEdit.connect("text_changed", self, '_on_text_changed')
func _on_text_changed(new_text):
event_data['value'] = new_text
func load_data(data):
event_data = data
$PanelContainer/VBoxContainer/Header/CustomLineEdit.text = event_data['value']
nodes['definition_picker'].load_definition(data['definition'])
nodes['condition_picker'].load_condition(data['condition'])
func _on_definition_entry_selected(index):
var metadata = nodes['definition_picker'].get_popup().get_item_metadata(index)
2021-03-25 22:46:46 +01:00
event_data['definition'] = metadata['id']
func _on_condition_entry_selected(index):
var metadata = nodes['condition_picker'].get_popup().get_item_metadata(index)
event_data['condition'] = metadata['condition']