pir-serious-game-ethics/addons/dialogic/Editor/Events/Question.gd
2021-04-16 16:35:07 +02:00

51 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 = {
'question': '',
'options': [],
'character': '',
'portrait': '',
}
onready var character_picker = $PanelContainer/VBoxContainer/Header/CharacterAndPortraitPicker
func _ready():
character_picker.connect("character_changed", self, '_on_character_changed')
var c_list = DialogicUtil.get_sorted_character_list()
if c_list.size() == 0:
character_picker.visible = false
else:
# Default Speaker
for c in c_list:
if c['default_speaker']:
event_data['character'] = c['file']
func load_data(data):
event_data = data
if not event_data.has('character'):
event_data['character'] = ''
if not event_data.has('portrait'):
event_data['portrait'] = ''
$PanelContainer/VBoxContainer/Header/LineEdit.text = event_data['question']
character_picker.set_data(event_data['character'], event_data['portrait'])
func _on_LineEdit_text_changed(new_text):
event_data['question'] = new_text
func _on_character_changed(character_data: Dictionary, portrait: String) -> void:
if character_data.keys().size() > 0:
event_data['character'] = character_data['file']
event_data['portrait'] = portrait
else:
event_data['character'] = ''
event_data['portrait'] = ''