45 lines
1.3 KiB
GDScript
45 lines
1.3 KiB
GDScript
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 = {
|
|
'definition': '',
|
|
'operation': '=',
|
|
'set_value': '',
|
|
}
|
|
|
|
onready var nodes = {
|
|
'definition_picker': $PanelContainer/VBoxContainer/Header/DefinitionPicker,
|
|
'operation_picker': $PanelContainer/VBoxContainer/Header/OperationPicker,
|
|
}
|
|
|
|
func _ready():
|
|
nodes['definition_picker'].get_popup().connect("index_pressed", self, '_on_definition_entry_selected')
|
|
nodes['operation_picker'].get_popup().connect("index_pressed", self, '_on_operation_entry_selected')
|
|
|
|
|
|
func _on_definition_entry_selected(index):
|
|
var metadata = nodes['definition_picker'].get_popup().get_item_metadata(index)
|
|
event_data['definition'] = metadata['id']
|
|
|
|
func _on_operation_entry_selected(index):
|
|
var metadata = nodes['operation_picker'].get_popup().get_item_metadata(index)
|
|
event_data['operation'] = metadata['operation']
|
|
|
|
|
|
func load_data(data):
|
|
event_data = data
|
|
$PanelContainer/VBoxContainer/Header/LineEdit.text = event_data['set_value']
|
|
nodes['definition_picker'].load_definition(data['definition'])
|
|
var operation = ''
|
|
if 'operation' in data:
|
|
operation = data['operation']
|
|
nodes['operation_picker'].load_condition(operation)
|
|
|
|
|
|
func _on_LineEdit_text_changed(new_text):
|
|
event_data['set_value'] = new_text
|