Browse Source

update dialogic

Arnaud Vergnet 1 year ago
parent
commit
adb5380f49
39 changed files with 351 additions and 132 deletions
  1. 7
    2
      addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd
  2. 8
    2
      addons/dialogic/Editor/DefinitionEditor/DefinitionEditor.gd
  3. 13
    6
      addons/dialogic/Editor/EditorView.gd
  4. 0
    1
      addons/dialogic/Editor/EditorView.tscn
  5. 105
    24
      addons/dialogic/Editor/MasterTree/MasterTree.gd
  6. 3
    4
      addons/dialogic/Editor/Pieces/AudioBlock.tscn
  7. 3
    4
      addons/dialogic/Editor/Pieces/ChangeScene.tscn
  8. 1
    1
      addons/dialogic/Editor/Pieces/ChangeTimeline.gd
  9. 3
    4
      addons/dialogic/Editor/Pieces/ChangeTimeline.tscn
  10. 3
    3
      addons/dialogic/Editor/Pieces/CharacterJoinBlock.tscn
  11. 1
    1
      addons/dialogic/Editor/Pieces/CharacterLeaveBlock.gd
  12. 3
    4
      addons/dialogic/Editor/Pieces/CharacterLeaveBlock.tscn
  13. 3
    4
      addons/dialogic/Editor/Pieces/Choice.tscn
  14. 3
    3
      addons/dialogic/Editor/Pieces/CloseDialog.tscn
  15. 1
    1
      addons/dialogic/Editor/Pieces/Common/CharacterPicker.gd
  16. 7
    6
      addons/dialogic/Editor/Pieces/Common/DefinitionPicker.gd
  17. 1
    1
      addons/dialogic/Editor/Pieces/Common/PortraitPicker.gd
  18. 8
    0
      addons/dialogic/Editor/Pieces/Common/Spacer.tscn
  19. 3
    4
      addons/dialogic/Editor/Pieces/EmitSignal.tscn
  20. 3
    3
      addons/dialogic/Editor/Pieces/EndBranch.tscn
  21. 3
    3
      addons/dialogic/Editor/Pieces/IfCondition.tscn
  22. 3
    4
      addons/dialogic/Editor/Pieces/Question.tscn
  23. 6
    8
      addons/dialogic/Editor/Pieces/SceneEvent.tscn
  24. 1
    1
      addons/dialogic/Editor/Pieces/SetTheme.gd
  25. 3
    4
      addons/dialogic/Editor/Pieces/SetTheme.tscn
  26. 3
    4
      addons/dialogic/Editor/Pieces/SetValue.tscn
  27. 1
    1
      addons/dialogic/Editor/Pieces/TextBlock.gd
  28. 5
    7
      addons/dialogic/Editor/Pieces/TextBlock.tscn
  29. 3
    4
      addons/dialogic/Editor/Pieces/WaitSeconds.tscn
  30. 17
    0
      addons/dialogic/Editor/Pieces/selected_styleboxflat.tres
  31. 1
    1
      addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd
  32. 1
    1
      addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd
  33. 63
    10
      addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd
  34. 1
    1
      addons/dialogic/Other/DialogicClass.gd
  35. 50
    2
      addons/dialogic/Other/DialogicUtil.gd
  36. 1
    1
      addons/dialogic/Other/timeline_picker.gd
  37. 8
    0
      dialogic/themes/theme-1616657657.cfg
  38. 1
    1
      dialogic/timelines/timeline-1616659306.json
  39. 1
    1
      dialogic/timelines/timeline-1616662258.json

+ 7
- 2
addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd View File

@@ -29,6 +29,9 @@ func _ready():
29 29
 	nodes['color'].connect('color_changed', self, '_on_color_changed')
30 30
 
31 31
 
32
+func is_selected(file: String):
33
+	return nodes['file'].text == file
34
+
32 35
 func _on_display_name_toggled(button_pressed):
33 36
 	$HBoxContainer/Container/DisplayName.visible = button_pressed
34 37
 
@@ -36,6 +39,8 @@ func _on_display_name_toggled(button_pressed):
36 39
 func _on_name_changed(value):
37 40
 	var item = master_tree.get_selected()
38 41
 	item.set_text(0, value)
42
+	save_character()
43
+	master_tree.build_characters(nodes['file'].text)
39 44
 
40 45
 
41 46
 func _on_color_changed(color):
@@ -77,8 +82,8 @@ func create_character():
77 82
 
78 83
 
79 84
 func new_character():
80
-	# This event creates and selects the new timeline
81
-	master_tree.add_character(create_character()['metadata'], true)
85
+	# This event creates and selects the new character
86
+	master_tree.build_characters(create_character()['metadata']['file'])
82 87
 
83 88
 
84 89
 # Saving and Loading

+ 8
- 2
addons/dialogic/Editor/DefinitionEditor/DefinitionEditor.gd View File

@@ -22,6 +22,9 @@ func _ready():
22 22
 	nodes['type'].connect('item_selected', self, '_on_type_selected')
23 23
 
24 24
 
25
+func is_selected(id: String):
26
+	return current_definition != null and current_definition['id'] == id
27
+
25 28
 func load_definition(id):
26 29
 	current_definition = DialogicResources.get_default_definition_item(id)
27 30
 	reset_editor()
@@ -53,6 +56,9 @@ func reset_editor():
53 56
 func _on_name_changed(text):
54 57
 	var item = master_tree.get_selected()
55 58
 	item.set_text(0, text)
59
+	if current_definition != null:
60
+		save_definition()
61
+		master_tree.build_definitions(current_definition['id'])
56 62
 
57 63
 
58 64
 func _on_type_selected(index):
@@ -76,11 +82,11 @@ func show_sub_editor(type):
76 82
 func new_definition():
77 83
 	var id = DialogicUtil.generate_random_id()
78 84
 	DialogicResources.set_default_definition_variable(id, 'New definition', '')
79
-	master_tree.add_definition({'id': id, 'name': 'New definition', 'type': 0}, true)
85
+	master_tree.build_definitions(id)
80 86
 
81 87
 
82 88
 func save_definition():
83
-	if current_definition['id'] != '':
89
+	if current_definition != null and current_definition['id'] != '':
84 90
 		var type: int = nodes['type'].selected
85 91
 		if type == 0:
86 92
 			DialogicResources.set_default_definition_variable(current_definition['id'], nodes['name'].text, nodes['value'].text)

+ 13
- 6
addons/dialogic/Editor/EditorView.gd View File

@@ -6,6 +6,7 @@ var editor_file_dialog # EditorFileDialog
6 6
 var file_picker_data: Dictionary = {'method': '', 'node': self}
7 7
 var current_editor_view: String = 'Master'
8 8
 var version_string: String 
9
+onready var master_tree = $MainPanel/MasterTree
9 10
 onready var timeline_editor = $MainPanel/TimelineEditor
10 11
 onready var character_editor = $MainPanel/CharacterEditor
11 12
 onready var definition_editor = $MainPanel/DefinitionEditor
@@ -24,6 +25,8 @@ func _ready():
24 25
 	definition_editor.editor_reference = self
25 26
 	theme_editor.editor_reference = self
26 27
 
28
+	master_tree.connect("editor_selected", self, 'on_master_tree_editor_selected')
29
+
27 30
 	# Toolbar
28 31
 	$ToolBar/NewTimelineButton.connect('pressed', $MainPanel/TimelineEditor, 'new_timeline')
29 32
 	$ToolBar/NewCharactersButton.connect('pressed', $MainPanel/CharacterEditor, 'new_character')
@@ -31,8 +34,8 @@ func _ready():
31 34
 	$ToolBar/NewDefinitionButton.connect('pressed', $MainPanel/DefinitionEditor, 'new_definition')
32 35
 	$ToolBar/Docs.icon = get_icon("Instance", "EditorIcons")
33 36
 	$ToolBar/Docs.connect('pressed', OS, "shell_open", ["https://dialogic.coppolaemilio.com"])
34
-	#$ToolBar/FoldTools/ButtonFold.connect('pressed', $EditorTimeline, 'fold_all_nodes')
35
-	#$ToolBar/FoldTools/ButtonUnfold.connect('pressed', $EditorTimeline, 'unfold_all_nodes')
37
+	$ToolBar/FoldTools/ButtonFold.connect('pressed', timeline_editor, 'fold_all_nodes')
38
+	$ToolBar/FoldTools/ButtonUnfold.connect('pressed', timeline_editor, 'unfold_all_nodes')
36 39
 	
37 40
 	
38 41
 	# Connecting context menus
@@ -55,6 +58,10 @@ func _ready():
55 58
 		$ToolBar/Version.text = 'v' + version_string
56 59
 
57 60
 
61
+func on_master_tree_editor_selected(editor: String):
62
+	$ToolBar/FoldTools.visible = editor == 'timeline'
63
+
64
+
58 65
 # Timeline context menu
59 66
 func _on_TimelinePopupMenu_id_pressed(id):
60 67
 	if id == 0: # View files
@@ -71,7 +78,7 @@ func _on_RemoveTimelineConfirmation_confirmed():
71 78
 	print('target: ', target)
72 79
 	DialogicResources.delete_timeline(target)
73 80
 	$MainPanel/MasterTree.remove_selected()
74
-	$MainPanel/MasterTree.hide_all_editors(true)
81
+	$MainPanel/MasterTree.hide_all_editors()
75 82
 
76 83
 
77 84
 # Character context menu
@@ -102,21 +109,21 @@ func _on_RemoveDefinitionConfirmation_confirmed():
102 109
 	var target = $MainPanel/DefinitionEditor.current_definition['id']
103 110
 	DialogicResources.delete_default_definition(target)
104 111
 	$MainPanel/MasterTree.remove_selected()
105
-	$MainPanel/MasterTree.hide_all_editors(true)
112
+	$MainPanel/MasterTree.hide_all_editors()
106 113
 
107 114
 
108 115
 func _on_RemoveCharacterConfirmation_confirmed():
109 116
 	var filename = DialogicResources.get_path('CHAR_DIR', $MainPanel/CharacterEditor.opened_character_data['id']) 
110 117
 	DialogicResources.delete_character(filename)
111 118
 	$MainPanel/MasterTree.remove_selected()
112
-	$MainPanel/MasterTree.hide_all_editors(true)
119
+	$MainPanel/MasterTree.hide_all_editors()
113 120
 
114 121
 
115 122
 func _on_RemoveThemeConfirmation_confirmed():
116 123
 	var filename = $MainPanel/MasterTree.get_selected().get_metadata(0)['file']
117 124
 	DialogicResources.delete_theme(filename)
118 125
 	$MainPanel/MasterTree.remove_selected()
119
-	$MainPanel/MasterTree.hide_all_editors(true)
126
+	$MainPanel/MasterTree.hide_all_editors()
120 127
 
121 128
 
122 129
 # Godot dialog

+ 0
- 1
addons/dialogic/Editor/EditorView.tscn View File

@@ -298,5 +298,4 @@ dialog_text = "Are you sure you want to remove this timeline?
298 298
 __meta__ = {
299 299
 "_edit_use_anchors_": false
300 300
 }
301
-
302 301
 [connection signal="gui_input" from="ToolBar/Logo" to="." method="_on_Logo_gui_input"]

+ 105
- 24
addons/dialogic/Editor/MasterTree/MasterTree.gd View File

@@ -18,6 +18,8 @@ var definitions_tree
18 18
 var themes_tree
19 19
 var settings_tree
20 20
 
21
+signal editor_selected(selected)
22
+
21 23
 func _ready():
22 24
 	allow_rmb_select = true
23 25
 	var root = tree.create_item()
@@ -61,30 +63,37 @@ func _ready():
61 63
 	#subchild1.set_text(0, "Subchild1")
62 64
 	
63 65
 	# Adding timelines
64
-	for t in DialogicUtil.get_timeline_list():
65
-		add_timeline(t)
66
+	build_timelines()
66 67
 	
67 68
 	# Adding characters
68
-	for c in DialogicUtil.get_character_list():
69
-		add_character(c)
69
+	build_characters()
70 70
 	
71 71
 	# Adding Definitions
72
-	for d in DialogicUtil.get_default_definitions_list():
73
-		add_definition(d)
72
+	build_definitions()
74 73
 	
75 74
 	# Adding Themes
76
-	for m in DialogicUtil.get_theme_list():
77
-		add_theme(m)
75
+	build_themes()
78 76
 	
79 77
 	# Default empty screen.
80
-	hide_all_editors(true) 
78
+	hide_all_editors() 
81 79
 	
82 80
 	# AutoSave timer
83 81
 	$AutoSave.connect("timeout", self, '_on_autosave_timeout')
84 82
 	$AutoSave.start(0.5)
85 83
 
86 84
 
87
-func add_timeline(timeline, select = false):
85
+func _clear_tree_children(parent: TreeItem):
86
+	while parent.get_children() != null:
87
+		parent.get_children().free()
88
+
89
+
90
+func build_timelines(selected_item: String=''):
91
+	_clear_tree_children(timelines_tree)
92
+	for t in DialogicUtil.get_sorted_timeline_list():
93
+		_add_timeline(t, not selected_item.empty() and t['file'] == selected_item)
94
+
95
+
96
+func _add_timeline(timeline, select = false):
88 97
 	var item = tree.create_item(timelines_tree)
89 98
 	item.set_icon(0, timeline_icon)
90 99
 	if timeline.has('name'):
@@ -98,7 +107,13 @@ func add_timeline(timeline, select = false):
98 107
 		item.select(0)
99 108
 
100 109
 
101
-func add_theme(theme_item, select = false):
110
+func build_themes(selected_item: String=''):
111
+	_clear_tree_children(themes_tree)
112
+	for t in DialogicUtil.get_sorted_theme_list():
113
+		_add_theme(t, not selected_item.empty() and t['file'] == selected_item)
114
+
115
+
116
+func _add_theme(theme_item, select = false):
102 117
 	var item = tree.create_item(themes_tree)
103 118
 	item.set_icon(0, get_icon("StyleBoxTexture", "EditorIcons"))
104 119
 	item.set_text(0, theme_item['name'])
@@ -109,7 +124,13 @@ func add_theme(theme_item, select = false):
109 124
 		item.select(0)
110 125
 
111 126
 
112
-func add_character(character, select = false):
127
+func build_characters(selected_item: String=''):
128
+	_clear_tree_children(characters_tree)
129
+	for t in DialogicUtil.get_sorted_character_list():
130
+		_add_character(t, not selected_item.empty() and t['file'] == selected_item)
131
+
132
+
133
+func _add_character(character, select = false):
113 134
 	var item = tree.create_item(characters_tree)
114 135
 	item.set_icon(0, character_icon)
115 136
 	if character.has('name'):
@@ -126,7 +147,13 @@ func add_character(character, select = false):
126 147
 		item.select(0)
127 148
 
128 149
 
129
-func add_definition(definition, select = false):
150
+func build_definitions(selected_item: String=''):
151
+	_clear_tree_children(definitions_tree)
152
+	for t in DialogicUtil.get_sorted_default_definitions_list():
153
+		_add_definition(t, not selected_item.empty() and t['id'] == selected_item)
154
+
155
+
156
+func _add_definition(definition, select = false):
130 157
 	var item = tree.create_item(definitions_tree)
131 158
 	item.set_text(0, definition['name'])
132 159
 	item.set_icon(0, get_icon("Variant", "EditorIcons"))
@@ -146,33 +173,79 @@ func _on_item_selected():
146 173
 	#       save_current_resource()
147 174
 	var item = get_selected()
148 175
 	var metadata = item.get_metadata(0)
149
-	hide_all_editors()
150 176
 	if metadata['editor'] == 'Timeline':
151
-		timeline_editor.visible = true
152 177
 		timeline_editor.load_timeline(metadata['file'])
178
+		show_timeline_editor()
153 179
 	if metadata['editor'] == 'Character':
154
-		character_editor.visible = true
155
-		character_editor.load_character(metadata['file'])
180
+		if not character_editor.is_selected(metadata['file']):
181
+			character_editor.load_character(metadata['file'])
182
+		show_character_editor()
156 183
 	if metadata['editor'] == 'Definition':
157
-		definition_editor.visible = true
158
-		definition_editor.load_definition(metadata['id'])
184
+		if not definition_editor.is_selected(metadata['id']):
185
+			definition_editor.visible = true
186
+			definition_editor.load_definition(metadata['id'])
187
+		show_definition_editor()
159 188
 	if metadata['editor'] == 'Theme':
160 189
 		theme_editor.load_theme(metadata['file'])
161
-		theme_editor.visible = true
190
+		show_theme_editor()
162 191
 	if metadata['editor'] == 'Settings':
163 192
 		settings_editor.update_data()
164
-		settings_editor.visible = true
193
+		show_settings_editor()
194
+
195
+
196
+func show_character_editor():
197
+	emit_signal("editor_selected", 'character')
198
+	character_editor.visible = true
199
+	timeline_editor.visible = false
200
+	definition_editor.visible = false
201
+	theme_editor.visible = false
202
+	settings_editor.visible = false
203
+	empty_editor.visible = false
204
+
205
+func show_timeline_editor():
206
+	emit_signal("editor_selected", 'timeline')
207
+	character_editor.visible = false
208
+	timeline_editor.visible = true
209
+	definition_editor.visible = false
210
+	theme_editor.visible = false
211
+	settings_editor.visible = false
212
+	empty_editor.visible = false
213
+
214
+func show_definition_editor():
215
+	emit_signal("editor_selected", 'definition')
216
+	character_editor.visible = false
217
+	timeline_editor.visible = false
218
+	definition_editor.visible = true
219
+	theme_editor.visible = false
220
+	settings_editor.visible = false
221
+	empty_editor.visible = false
165 222
 
223
+func show_theme_editor():
224
+	emit_signal("editor_selected", 'theme')
225
+	character_editor.visible = false
226
+	timeline_editor.visible = false
227
+	definition_editor.visible = false
228
+	theme_editor.visible = true
229
+	settings_editor.visible = false
230
+	empty_editor.visible = false
166 231
 
167
-func hide_all_editors(show_empty = false):
232
+func show_settings_editor():
233
+	emit_signal("editor_selected", 'theme')
168 234
 	character_editor.visible = false
169 235
 	timeline_editor.visible = false
170 236
 	definition_editor.visible = false
171 237
 	theme_editor.visible = false
238
+	settings_editor.visible = true
172 239
 	empty_editor.visible = false
240
+
241
+func hide_all_editors():
242
+	emit_signal("editor_selected", 'none')
243
+	character_editor.visible = false
244
+	timeline_editor.visible = false
245
+	definition_editor.visible = false
246
+	theme_editor.visible = false
173 247
 	settings_editor.visible = false
174
-	if show_empty:
175
-		empty_editor.visible = true
248
+	empty_editor.visible = true
176 249
 
177 250
 
178 251
 func _on_item_rmb_selected(position):
@@ -216,18 +289,26 @@ func _on_gui_input(event):
216 289
 
217 290
 
218 291
 func _on_item_edited():
292
+	print('edited')
219 293
 	var item = get_selected()
220 294
 	var metadata = item.get_metadata(0)
221 295
 	if metadata['editor'] == 'Timeline':
222 296
 		timeline_editor.timeline_name = item.get_text(0)
297
+		save_current_resource()
298
+		build_timelines(metadata['file'])
223 299
 	if metadata['editor'] == 'Theme':
224 300
 		DialogicResources.set_theme_value(metadata['file'], 'settings', 'name', item.get_text(0))
301
+		build_themes(metadata['file'])
225 302
 	if metadata['editor'] == 'Character':
226 303
 		character_editor.nodes['name'].text = item.get_text(0)
304
+		save_current_resource()
305
+		build_characters(metadata['file'])
227 306
 	if metadata['editor'] == 'Definition':
228 307
 		definition_editor.nodes['name'].text = item.get_text(0)
229 308
 		# Not sure why this signal doesn't triggers
230 309
 		definition_editor._on_name_changed(item.get_text(0))
310
+		save_current_resource()
311
+		build_definitions(metadata['id'])
231 312
 
232 313
 
233 314
 func _on_autosave_timeout():

+ 3
- 4
addons/dialogic/Editor/Pieces/AudioBlock.tscn View File

@@ -1,6 +1,7 @@
1
-[gd_scene load_steps=7 format=2]
1
+[gd_scene load_steps=8 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Editor/Pieces/AudioBlock.gd" type="Script" id=1]
4
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=2]
4 5
 [ext_resource path="res://addons/dialogic/Images/audio-event.svg" type="Texture" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Images/play.svg" type="Texture" id=5]
@@ -98,11 +99,10 @@ margin_bottom = 22.0
98 99
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
99 100
 text = "    ..."
100 101
 
101
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
102
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 2 )]
102 103
 margin_left = 157.0
103 104
 margin_right = 1735.0
104 105
 margin_bottom = 28.0
105
-size_flags_horizontal = 3
106 106
 
107 107
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
108 108
 margin_left = 1739.0
@@ -113,7 +113,6 @@ items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down",
113 113
 [node name="AudioPreview" type="AudioStreamPlayer" parent="PanelContainer"]
114 114
 
115 115
 [node name="DragController" parent="." instance=ExtResource( 6 )]
116
-
117 116
 [connection signal="pressed" from="PanelContainer/VBoxContainer/Header/ButtonAudio" to="." method="_on_ButtonAudio_pressed"]
118 117
 [connection signal="pressed" from="PanelContainer/VBoxContainer/Header/ButtonPreviewPlay" to="." method="_on_ButtonPreviewPlay_pressed"]
119 118
 [connection signal="finished" from="PanelContainer/AudioPreview" to="." method="_on_AudioPreview_finished"]

+ 3
- 4
addons/dialogic/Editor/Pieces/ChangeScene.tscn View File

@@ -1,6 +1,7 @@
1
-[gd_scene load_steps=6 format=2]
1
+[gd_scene load_steps=7 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Editor/Pieces/ChangeScene.gd" type="Script" id=1]
4
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=2]
4 5
 [ext_resource path="res://addons/dialogic/Images/change-scene.svg" type="Texture" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=6]
@@ -90,11 +91,10 @@ margin_bottom = 22.0
90 91
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
91 92
 text = "    ..."
92 93
 
93
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
94
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 2 )]
94 95
 margin_left = 170.0
95 96
 margin_right = 1735.0
96 97
 margin_bottom = 28.0
97
-size_flags_horizontal = 3
98 98
 
99 99
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
100 100
 margin_left = 1739.0
@@ -105,6 +105,5 @@ items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down",
105 105
 [node name="AudioPreview" type="AudioStreamPlayer" parent="PanelContainer"]
106 106
 
107 107
 [node name="DragController" parent="." instance=ExtResource( 6 )]
108
-
109 108
 [connection signal="pressed" from="PanelContainer/VBoxContainer/Header/ButtonScenePicker" to="." method="_on_ButtonScenePicker_pressed"]
110 109
 [connection signal="finished" from="PanelContainer/AudioPreview" to="." method="_on_AudioPreview_finished"]

+ 1
- 1
addons/dialogic/Editor/Pieces/ChangeTimeline.gd View File

@@ -27,7 +27,7 @@ func _on_MenuButton_about_to_show():
27 27
 	var Dropdown = $PanelContainer/VBoxContainer/Header/MenuButton
28 28
 	Dropdown.get_popup().clear()
29 29
 	var index = 0
30
-	for c in DialogicUtil.get_timeline_list():
30
+	for c in DialogicUtil.get_sorted_timeline_list():
31 31
 		Dropdown.get_popup().add_item(c['name'])
32 32
 		Dropdown.get_popup().set_item_metadata(index, {'file': c['file'], 'color': c['color']})
33 33
 		index += 1

+ 3
- 4
addons/dialogic/Editor/Pieces/ChangeTimeline.tscn View File

@@ -1,6 +1,7 @@
1
-[gd_scene load_steps=6 format=2]
1
+[gd_scene load_steps=7 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Editor/Pieces/ChangeTimeline.gd" type="Script" id=1]
4
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=2]
4 5
 [ext_resource path="res://addons/dialogic/Images/change-timeline.svg" type="Texture" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
@@ -80,11 +81,10 @@ margin_right = 267.0
80 81
 margin_bottom = 21.0
81 82
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
82 83
 
83
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
84
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 2 )]
84 85
 margin_left = 271.0
85 86
 margin_right = 1735.0
86 87
 margin_bottom = 28.0
87
-size_flags_horizontal = 3
88 88
 
89 89
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
90 90
 margin_left = 1739.0
@@ -93,5 +93,4 @@ margin_bottom = 28.0
93 93
 items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ]
94 94
 
95 95
 [node name="DragController" parent="." instance=ExtResource( 5 )]
96
-
97 96
 [connection signal="about_to_show" from="PanelContainer/VBoxContainer/Header/MenuButton" to="." method="_on_MenuButton_about_to_show"]

+ 3
- 3
addons/dialogic/Editor/Pieces/CharacterJoinBlock.tscn View File

@@ -1,5 +1,6 @@
1
-[gd_scene load_steps=9 format=2]
1
+[gd_scene load_steps=10 format=2]
2 2
 
3
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=1]
3 4
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=2]
4 5
 [ext_resource path="res://addons/dialogic/Editor/Pieces/CharacterJoinBlock.gd" type="Script" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Images/character-join.svg" type="Texture" id=4]
@@ -124,11 +125,10 @@ margin_right = 186.0
124 125
 margin_bottom = 30.0
125 126
 icon = ExtResource( 5 )
126 127
 
127
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
128
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 1 )]
128 129
 margin_left = 502.0
129 130
 margin_right = 1735.0
130 131
 margin_bottom = 30.0
131
-size_flags_horizontal = 3
132 132
 
133 133
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 2 )]
134 134
 margin_left = 1739.0

+ 1
- 1
addons/dialogic/Editor/Pieces/CharacterLeaveBlock.gd View File

@@ -20,7 +20,7 @@ func _on_CharacterDropdown_about_to_show():
20 20
 	Dropdown.get_popup().clear()
21 21
 	Dropdown.get_popup().add_item("[All]")
22 22
 	var index = 1
23
-	for c in DialogicUtil.get_character_list():
23
+	for c in DialogicUtil.get_sorted_character_list():
24 24
 		Dropdown.get_popup().add_item(c['name'])
25 25
 		Dropdown.get_popup().set_item_metadata(index, {'file': c['file'], 'color': c['color']})
26 26
 		index += 1

+ 3
- 4
addons/dialogic/Editor/Pieces/CharacterLeaveBlock.tscn View File

@@ -1,6 +1,7 @@
1
-[gd_scene load_steps=6 format=2]
1
+[gd_scene load_steps=7 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Editor/Pieces/CharacterLeaveBlock.gd" type="Script" id=1]
4
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=2]
4 5
 [ext_resource path="res://addons/dialogic/Images/character-leave.svg" type="Texture" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
@@ -88,11 +89,10 @@ margin_bottom = 22.0
88 89
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
89 90
 text = "    ..."
90 91
 
91
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
92
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 2 )]
92 93
 margin_left = 243.0
93 94
 margin_right = 1735.0
94 95
 margin_bottom = 28.0
95
-size_flags_horizontal = 3
96 96
 
97 97
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
98 98
 margin_left = 1739.0
@@ -101,5 +101,4 @@ margin_bottom = 28.0
101 101
 items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ]
102 102
 
103 103
 [node name="DragController" parent="." instance=ExtResource( 5 )]
104
-
105 104
 [connection signal="about_to_show" from="PanelContainer/VBoxContainer/Header/CharacterDropdown" to="." method="_on_CharacterDropdown_about_to_show"]

+ 3
- 4
addons/dialogic/Editor/Pieces/Choice.tscn View File

@@ -1,7 +1,8 @@
1
-[gd_scene load_steps=8 format=2]
1
+[gd_scene load_steps=9 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Images/choice.svg" type="Texture" id=1]
4 4
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Choice.gd" type="Script" id=2]
5
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
7 8
 [ext_resource path="res://addons/dialogic/Images/warning.svg" type="Texture" id=6]
@@ -98,11 +99,10 @@ margin_right = 102.0
98 99
 margin_bottom = 21.0
99 100
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
100 101
 
101
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
102
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 3 )]
102 103
 margin_left = 106.0
103 104
 margin_right = 941.0
104 105
 margin_bottom = 28.0
105
-size_flags_horizontal = 3
106 106
 
107 107
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
108 108
 margin_left = 945.0
@@ -111,5 +111,4 @@ margin_bottom = 28.0
111 111
 items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ]
112 112
 
113 113
 [node name="DragController" parent="." instance=ExtResource( 5 )]
114
-
115 114
 [connection signal="visibility_changed" from="Indent" to="." method="_on_Indent_visibility_changed"]

+ 3
- 3
addons/dialogic/Editor/Pieces/CloseDialog.tscn View File

@@ -1,9 +1,10 @@
1
-[gd_scene load_steps=6 format=2]
1
+[gd_scene load_steps=7 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=1]
4 4
 [ext_resource path="res://addons/dialogic/Images/end-dialog.svg" type="Texture" id=2]
5 5
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=3]
6 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/CloseDialog.gd" type="Script" id=4]
7
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=5]
7 8
 
8 9
 [sub_resource type="StyleBoxFlat" id=1]
9 10
 content_margin_left = 16.0
@@ -74,11 +75,10 @@ margin_right = 117.0
74 75
 margin_bottom = 21.0
75 76
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
76 77
 
77
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
78
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 5 )]
78 79
 margin_left = 121.0
79 80
 margin_right = 1735.0
80 81
 margin_bottom = 28.0
81
-size_flags_horizontal = 3
82 82
 
83 83
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 3 )]
84 84
 margin_left = 1739.0

+ 1
- 1
addons/dialogic/Editor/Pieces/Common/CharacterPicker.gd View File

@@ -15,7 +15,7 @@ func _on_Dropdown_about_to_show():
15 15
 	popup.set_item_metadata(0, {'file': '', 'color': Color('#ffffff')})
16 16
 	
17 17
 	var index = 1
18
-	for c in DialogicUtil.get_character_list():
18
+	for c in DialogicUtil.get_sorted_character_list():
19 19
 		popup.add_item(c['name'])
20 20
 		popup.set_item_metadata(index, {'file': c['file'],'color': c['color']})
21 21
 		index += 1

+ 7
- 6
addons/dialogic/Editor/Pieces/Common/DefinitionPicker.gd View File

@@ -12,12 +12,13 @@ func _ready():
12 12
 func _on_MenuButton_about_to_show():
13 13
 	get_popup().clear()
14 14
 	var index = 0
15
-	for d in DialogicResources.get_default_definitions()['variables']:
16
-		get_popup().add_item(d['name'])
17
-		get_popup().set_item_metadata(index, {
18
-			'id': d['id'],
19
-		})
20
-		index += 1
15
+	for d in DialogicUtil.get_sorted_default_definitions_list():
16
+		if d['type'] == 0:
17
+			get_popup().add_item(d['name'])
18
+			get_popup().set_item_metadata(index, {
19
+				'id': d['id'],
20
+			})
21
+			index += 1
21 22
 
22 23
 
23 24
 func _on_entry_selected(index):

+ 1
- 1
addons/dialogic/Editor/Pieces/Common/PortraitPicker.gd View File

@@ -37,7 +37,7 @@ func _on_about_to_show():
37 37
 	if allow_dont_change:
38 38
 		get_popup().add_item("[Don't change]")
39 39
 		index += 1
40
-	for c in DialogicUtil.get_character_list():
40
+	for c in DialogicUtil.get_sorted_character_list():
41 41
 		if c['file'] == character:
42 42
 			for p in c['portraits']:
43 43
 				get_popup().add_item(p['name'])

+ 8
- 0
addons/dialogic/Editor/Pieces/Common/Spacer.tscn View File

@@ -0,0 +1,8 @@
1
+[gd_scene format=2]
2
+
3
+[node name="Spacer" type="Control"]
4
+mouse_filter = 1
5
+size_flags_horizontal = 3
6
+__meta__ = {
7
+"_edit_use_anchors_": false
8
+}

+ 3
- 4
addons/dialogic/Editor/Pieces/EmitSignal.tscn View File

@@ -1,7 +1,8 @@
1
-[gd_scene load_steps=7 format=2]
1
+[gd_scene load_steps=8 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Images/signal.svg" type="Texture" id=1]
4 4
 [ext_resource path="res://addons/dialogic/Editor/Pieces/EmitSignal.gd" type="Script" id=2]
5
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
7 8
 
@@ -104,11 +105,10 @@ margin_right = 180.0
104 105
 margin_bottom = 21.0
105 106
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
106 107
 
107
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
108
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 3 )]
108 109
 margin_left = 184.0
109 110
 margin_right = 941.0
110 111
 margin_bottom = 28.0
111
-size_flags_horizontal = 3
112 112
 
113 113
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
114 114
 margin_left = 945.0
@@ -117,5 +117,4 @@ margin_bottom = 28.0
117 117
 items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ]
118 118
 
119 119
 [node name="DragController" parent="." instance=ExtResource( 5 )]
120
-
121 120
 [connection signal="text_changed" from="PanelContainer/VBoxContainer/Header/LineEdit" to="." method="_on_LineEdit_text_changed"]

+ 3
- 3
addons/dialogic/Editor/Pieces/EndBranch.tscn View File

@@ -1,6 +1,7 @@
1
-[gd_scene load_steps=6 format=2]
1
+[gd_scene load_steps=7 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=1]
4
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=2]
4 5
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/EndBranch.gd" type="Script" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Images/end-choice.svg" type="Texture" id=5]
@@ -77,11 +78,10 @@ margin_right = 109.0
77 78
 margin_bottom = 21.0
78 79
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
79 80
 
80
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
81
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 2 )]
81 82
 margin_left = 113.0
82 83
 margin_right = 961.0
83 84
 margin_bottom = 28.0
84
-size_flags_horizontal = 3
85 85
 
86 86
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 1 )]
87 87
 margin_left = 965.0

+ 3
- 3
addons/dialogic/Editor/Pieces/IfCondition.tscn View File

@@ -1,4 +1,4 @@
1
-[gd_scene load_steps=9 format=2]
1
+[gd_scene load_steps=10 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Images/condition.svg" type="Texture" id=1]
4 4
 [ext_resource path="res://addons/dialogic/Editor/Pieces/IfCondition.gd" type="Script" id=2]
@@ -7,6 +7,7 @@
7 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
8 8
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/CustomLineEdit.tscn" type="PackedScene" id=6]
9 9
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DefinitionPicker.tscn" type="PackedScene" id=7]
10
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=8]
10 11
 
11 12
 [sub_resource type="StyleBoxFlat" id=1]
12 13
 content_margin_left = 16.0
@@ -85,11 +86,10 @@ margin_right = 308.0
85 86
 margin_bottom = 21.0
86 87
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
87 88
 
88
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
89
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 8 )]
89 90
 margin_left = 312.0
90 91
 margin_right = 941.0
91 92
 margin_bottom = 28.0
92
-size_flags_horizontal = 3
93 93
 
94 94
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
95 95
 margin_left = 945.0

+ 3
- 4
addons/dialogic/Editor/Pieces/Question.tscn View File

@@ -1,7 +1,8 @@
1
-[gd_scene load_steps=6 format=2]
1
+[gd_scene load_steps=7 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Images/question.svg" type="Texture" id=1]
4 4
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Question.gd" type="Script" id=2]
5
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
7 8
 
@@ -87,11 +88,10 @@ margin_right = 305.0
87 88
 margin_bottom = 21.0
88 89
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
89 90
 
90
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
91
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 3 )]
91 92
 margin_left = 309.0
92 93
 margin_right = 941.0
93 94
 margin_bottom = 28.0
94
-size_flags_horizontal = 3
95 95
 
96 96
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
97 97
 margin_left = 945.0
@@ -100,5 +100,4 @@ margin_bottom = 28.0
100 100
 items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ]
101 101
 
102 102
 [node name="DragController" parent="." instance=ExtResource( 5 )]
103
-
104 103
 [connection signal="text_changed" from="PanelContainer/VBoxContainer/Header/LineEdit" to="." method="_on_LineEdit_text_changed"]

+ 6
- 8
addons/dialogic/Editor/Pieces/SceneEvent.tscn View File

@@ -1,10 +1,11 @@
1
-[gd_scene load_steps=7 format=2]
1
+[gd_scene load_steps=8 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Images/scene.svg" type="Texture" id=1]
4 4
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=2]
5 5
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=3]
6 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/VisibleToggle.tscn" type="PackedScene" id=4]
7 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/SceneEvent.gd" type="Script" id=5]
8
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=6]
8 9
 
9 10
 [sub_resource type="StyleBoxFlat" id=1]
10 11
 content_margin_left = 16.0
@@ -37,7 +38,7 @@ margin_bottom = 74.0
37 38
 
38 39
 [node name="PanelContainer" type="PanelContainer" parent="."]
39 40
 margin_right = 1024.0
40
-margin_bottom = 74.0
41
+margin_bottom = 78.0
41 42
 mouse_filter = 1
42 43
 size_flags_horizontal = 3
43 44
 size_flags_vertical = 3
@@ -47,7 +48,7 @@ custom_styles/panel = SubResource( 1 )
47 48
 margin_left = 16.0
48 49
 margin_top = 6.0
49 50
 margin_right = 1018.0
50
-margin_bottom = 68.0
51
+margin_bottom = 72.0
51 52
 size_flags_horizontal = 3
52 53
 
53 54
 [node name="Header" type="HBoxContainer" parent="PanelContainer/VBoxContainer"]
@@ -80,12 +81,10 @@ margin_bottom = 22.0
80 81
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
81 82
 text = "    ..."
82 83
 
83
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
84
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 6 )]
84 85
 margin_left = 169.0
85 86
 margin_right = 961.0
86 87
 margin_bottom = 30.0
87
-mouse_filter = 1
88
-size_flags_horizontal = 3
89 88
 
90 89
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 2 )]
91 90
 margin_left = 965.0
@@ -126,12 +125,11 @@ size_flags_horizontal = 3
126 125
 [node name="TextureRect" type="TextureRect" parent="PanelContainer/VBoxContainer"]
127 126
 margin_top = 62.0
128 127
 margin_right = 1002.0
129
-margin_bottom = 62.0
128
+margin_bottom = 66.0
130 129
 size_flags_horizontal = 3
131 130
 size_flags_vertical = 3
132 131
 expand = true
133 132
 stretch_mode = 5
134 133
 
135 134
 [node name="DragController" parent="." instance=ExtResource( 3 )]
136
-
137 135
 [connection signal="pressed" from="PanelContainer/VBoxContainer/HBoxContainer/ImageButton" to="." method="_on_ImageButton_pressed"]

+ 1
- 1
addons/dialogic/Editor/Pieces/SetTheme.gd View File

@@ -26,7 +26,7 @@ func load_data(data):
26 26
 
27 27
 func _on_MenuButton_about_to_show():
28 28
 	var Dropdown = $PanelContainer/VBoxContainer/Header/MenuButton
29
-	var theme_list = DialogicUtil.get_theme_list()
29
+	var theme_list = DialogicUtil.get_sorted_theme_list()
30 30
 	var index = 0
31 31
 
32 32
 	Dropdown.get_popup().clear()

+ 3
- 4
addons/dialogic/Editor/Pieces/SetTheme.tscn View File

@@ -1,6 +1,7 @@
1
-[gd_scene load_steps=6 format=2]
1
+[gd_scene load_steps=7 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Editor/Pieces/SetTheme.gd" type="Script" id=1]
4
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=2]
4 5
 [ext_resource path="res://addons/dialogic/Images/theme.svg" type="Texture" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
@@ -80,11 +81,10 @@ margin_right = 217.0
80 81
 margin_bottom = 21.0
81 82
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
82 83
 
83
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
84
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 2 )]
84 85
 margin_left = 221.0
85 86
 margin_right = 1735.0
86 87
 margin_bottom = 28.0
87
-size_flags_horizontal = 3
88 88
 
89 89
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
90 90
 margin_left = 1739.0
@@ -93,5 +93,4 @@ margin_bottom = 28.0
93 93
 items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ]
94 94
 
95 95
 [node name="DragController" parent="." instance=ExtResource( 5 )]
96
-
97 96
 [connection signal="about_to_show" from="PanelContainer/VBoxContainer/Header/MenuButton" to="." method="_on_MenuButton_about_to_show"]

+ 3
- 4
addons/dialogic/Editor/Pieces/SetValue.tscn View File

@@ -1,7 +1,8 @@
1
-[gd_scene load_steps=8 format=2]
1
+[gd_scene load_steps=9 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Editor/Pieces/SetValue.gd" type="Script" id=1]
4 4
 [ext_resource path="res://addons/dialogic/Images/Events/set-value.svg" type="Texture" id=2]
5
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
7 8
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DefinitionPicker.tscn" type="PackedScene" id=6]
@@ -117,11 +118,10 @@ margin_right = 389.0
117 118
 margin_bottom = 21.0
118 119
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
119 120
 
120
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
121
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 3 )]
121 122
 margin_left = 393.0
122 123
 margin_right = 941.0
123 124
 margin_bottom = 28.0
124
-size_flags_horizontal = 3
125 125
 
126 126
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
127 127
 margin_left = 945.0
@@ -130,5 +130,4 @@ margin_bottom = 28.0
130 130
 items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ]
131 131
 
132 132
 [node name="DragController" parent="." instance=ExtResource( 5 )]
133
-
134 133
 [connection signal="text_changed" from="PanelContainer/VBoxContainer/Header/LineEdit" to="." method="_on_LineEdit_text_changed"]

+ 1
- 1
addons/dialogic/Editor/Pieces/TextBlock.gd View File

@@ -21,7 +21,7 @@ func _ready():
21 21
 	$PanelContainer/VBoxContainer/Header/CharacterPicker.connect('character_selected', self , '_on_character_selected')
22 22
 	portrait_picker.get_popup().connect("index_pressed", self, '_on_portrait_selected')
23 23
 
24
-	var c_list = DialogicUtil.get_character_list()
24
+	var c_list = DialogicUtil.get_sorted_character_list()
25 25
 	if c_list.size() == 0:
26 26
 		$PanelContainer/VBoxContainer/Header/CharacterPicker.visible = false
27 27
 	else:

+ 5
- 7
addons/dialogic/Editor/Pieces/TextBlock.tscn View File

@@ -1,4 +1,4 @@
1
-[gd_scene load_steps=9 format=2]
1
+[gd_scene load_steps=10 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Editor/Pieces/TextBlock.gd" type="Script" id=1]
4 4
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/VisibleToggle.tscn" type="PackedScene" id=2]
@@ -7,6 +7,7 @@
7 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
8 8
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/CharacterPicker.tscn" type="PackedScene" id=6]
9 9
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PortraitPicker.tscn" type="PackedScene" id=7]
10
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=8]
10 11
 
11 12
 [sub_resource type="StyleBoxFlat" id=1]
12 13
 content_margin_left = 6.0
@@ -100,19 +101,17 @@ margin_right = 183.0
100 101
 
101 102
 [node name="Preview" type="Label" parent="PanelContainer/VBoxContainer/Header"]
102 103
 visible = false
103
-margin_left = 234.0
104
+margin_left = 187.0
104 105
 margin_top = 8.0
105
-margin_right = 246.0
106
+margin_right = 199.0
106 107
 margin_bottom = 22.0
107 108
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
108 109
 text = "..."
109 110
 
110
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
111
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 8 )]
111 112
 margin_left = 187.0
112 113
 margin_right = 971.0
113 114
 margin_bottom = 30.0
114
-mouse_filter = 1
115
-size_flags_horizontal = 3
116 115
 
117 116
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
118 117
 margin_left = 975.0
@@ -131,5 +130,4 @@ smooth_scrolling = true
131 130
 wrap_enabled = true
132 131
 
133 132
 [node name="DragController" parent="." instance=ExtResource( 5 )]
134
-
135 133
 [connection signal="text_changed" from="PanelContainer/VBoxContainer/TextEdit" to="." method="_on_TextEdit_text_changed"]

+ 3
- 4
addons/dialogic/Editor/Pieces/WaitSeconds.tscn View File

@@ -1,7 +1,8 @@
1
-[gd_scene load_steps=6 format=2]
1
+[gd_scene load_steps=7 format=2]
2 2
 
3 3
 [ext_resource path="res://addons/dialogic/Images/Wait.svg" type="Texture" id=1]
4 4
 [ext_resource path="res://addons/dialogic/Editor/Pieces/WaitSeconds.gd" type="Script" id=2]
5
+[ext_resource path="res://addons/dialogic/Editor/Pieces/Common/Spacer.tscn" type="PackedScene" id=3]
5 6
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/PieceExtraSettings.tscn" type="PackedScene" id=4]
6 7
 [ext_resource path="res://addons/dialogic/Editor/Pieces/Common/DragController.tscn" type="PackedScene" id=5]
7 8
 
@@ -93,11 +94,10 @@ margin_right = 222.0
93 94
 margin_bottom = 21.0
94 95
 custom_colors/font_color = Color( 1, 1, 1, 0.513726 )
95 96
 
96
-[node name="Spacer" type="Control" parent="PanelContainer/VBoxContainer/Header"]
97
+[node name="Spacer" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 3 )]
97 98
 margin_left = 226.0
98 99
 margin_right = 941.0
99 100
 margin_bottom = 28.0
100
-size_flags_horizontal = 3
101 101
 
102 102
 [node name="OptionButton" parent="PanelContainer/VBoxContainer/Header" instance=ExtResource( 4 )]
103 103
 margin_left = 945.0
@@ -106,5 +106,4 @@ margin_bottom = 28.0
106 106
 items = [ "Move Up", null, 0, false, false, 0, 0, null, "", false, "Move Down", null, 0, false, false, 1, 0, null, "", false, "", null, 0, false, false, 2, 0, null, "", true, "Remove", null, 0, false, false, 3, 0, null, "", false ]
107 107
 
108 108
 [node name="DragController" parent="." instance=ExtResource( 5 )]
109
-
110 109
 [connection signal="value_changed" from="PanelContainer/VBoxContainer/Header/SpinBox" to="." method="_on_SpinBox_value_changed"]

+ 17
- 0
addons/dialogic/Editor/Pieces/selected_styleboxflat.tres View File

@@ -0,0 +1,17 @@
1
+[gd_resource type="StyleBoxFlat" format=2]
2
+
3
+[resource]
4
+content_margin_left = 16.0
5
+content_margin_right = 6.0
6
+content_margin_top = 6.0
7
+content_margin_bottom = 6.0
8
+bg_color = Color( 0.0980392, 0.329412, 0.509804, 1 )
9
+border_width_left = 2
10
+border_width_top = 2
11
+border_width_right = 2
12
+border_width_bottom = 2
13
+border_color = Color( 0.0901961, 0.560784, 0.937255, 1 )
14
+corner_radius_top_left = 6
15
+corner_radius_top_right = 6
16
+corner_radius_bottom_right = 6
17
+corner_radius_bottom_left = 6

+ 1
- 1
addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd View File

@@ -31,7 +31,7 @@ func dialog_options(settings):
31 31
 
32 32
 func refresh_themes(settings):
33 33
 	nodes['themes'].clear()
34
-	var theme_list = DialogicUtil.get_theme_list()
34
+	var theme_list = DialogicUtil.get_sorted_theme_list()
35 35
 	var theme_indexes = {}
36 36
 	var index = 0
37 37
 	for theme in theme_list:

+ 1
- 1
addons/dialogic/Editor/ThemeEditor/ThemeEditor.gd View File

@@ -120,7 +120,7 @@ func load_theme(filename):
120 120
 func new_theme():
121 121
 	var theme_file = 'theme-' + str(OS.get_unix_time()) + '.cfg'
122 122
 	DialogicResources.add_theme(theme_file)
123
-	master_tree.add_theme({'file': theme_file, 'name': theme_file})
123
+	master_tree.build_themes(theme_file)
124 124
 	load_theme(theme_file)
125 125
 	# Check if it is the only theme to set as default
126 126
 	if DialogicUtil.get_theme_list().size() == 1:

+ 63
- 10
addons/dialogic/Editor/TimelineEditor/TimelineEditor.gd View File

@@ -10,6 +10,11 @@ onready var master_tree = get_node('../MasterTree')
10 10
 onready var timeline = $TimelineArea/TimeLine
11 11
 onready var events_warning = $ScrollContainer/EventContainer/EventsWarning
12 12
 
13
+var hovered_item = null
14
+var selected_style : StyleBoxFlat = load("res://addons/dialogic/Editor/Pieces/selected_styleboxflat.tres")
15
+var saved_style : StyleBoxFlat
16
+var selected_item : Node
17
+
13 18
 func _ready():
14 19
 	# We connect all the event buttons to the event creation functions
15 20
 	for b in $ScrollContainer/EventContainer.get_children():
@@ -22,6 +27,32 @@ func _ready():
22 27
 				b.connect('pressed', self, "_create_event_button_pressed", [b.name])
23 28
 
24 29
 
30
+func _clear_selection():
31
+	if selected_item != null and saved_style != null:
32
+		var selected_panel: PanelContainer = selected_item.get_node("PanelContainer")
33
+		if selected_panel != null:
34
+			selected_panel.set('custom_styles/panel', saved_style)
35
+	selected_item = null
36
+	saved_style = null
37
+
38
+
39
+func _select_item(item: Node):
40
+	if item != selected_item:
41
+		_clear_selection()
42
+		var panel: PanelContainer = item.get_node("PanelContainer")
43
+		if panel != null:
44
+			saved_style = panel.get('custom_styles/panel')
45
+			selected_item = item
46
+			panel.set('custom_styles/panel', selected_style)
47
+	else:
48
+		_clear_selection()
49
+
50
+
51
+func _on_gui_input(event, item: Node):
52
+	if event is InputEventMouseButton and event.button_index == 1 and event.is_pressed():
53
+		_select_item(item)
54
+
55
+
25 56
 # Event Creation signal for buttons
26 57
 func _create_event_button_pressed(button_name):
27 58
 	create_event(button_name)
@@ -29,15 +60,29 @@ func _create_event_button_pressed(button_name):
29 60
 
30 61
 
31 62
 func _on_ButtonQuestion_pressed() -> void:
32
-	create_event("Question", {'no-data': true}, true)
33
-	create_event("Choice", {'no-data': true}, true)
34
-	create_event("Choice", {'no-data': true}, true)
35
-	create_event("EndBranch", {'no-data': true}, true)
63
+	if selected_item != null:
64
+		# Events are added bellow the selected node
65
+		# So we must reverse the adding order
66
+		create_event("EndBranch", {'no-data': true}, true)
67
+		create_event("Choice", {'no-data': true}, true)
68
+		create_event("Choice", {'no-data': true}, true)
69
+		create_event("Question", {'no-data': true}, true)
70
+	else:
71
+		create_event("Question", {'no-data': true}, true)
72
+		create_event("Choice", {'no-data': true}, true)
73
+		create_event("Choice", {'no-data': true}, true)
74
+		create_event("EndBranch", {'no-data': true}, true)
36 75
 
37 76
 
38 77
 func _on_ButtonCondition_pressed() -> void:
39
-	create_event("IfCondition", {'no-data': true}, true)
40
-	create_event("EndBranch", {'no-data': true}, true)
78
+	if selected_item != null:
79
+		# Events are added bellow the selected node
80
+		# So we must reverse the adding order
81
+		create_event("EndBranch", {'no-data': true}, true)
82
+		create_event("IfCondition", {'no-data': true}, true)
83
+	else:
84
+		create_event("IfCondition", {'no-data': true}, true)
85
+		create_event("EndBranch", {'no-data': true}, true)
41 86
 
42 87
 
43 88
 # Adding an event to the timeline
@@ -45,9 +90,14 @@ func create_event(scene: String, data: Dictionary = {'no-data': true} , indent:
45 90
 	# This function will create an event in the timeline.
46 91
 	var piece = load("res://addons/dialogic/Editor/Pieces/" + scene + ".tscn").instance()
47 92
 	piece.editor_reference = editor_reference
48
-	timeline.add_child(piece)
93
+	if selected_item != null:
94
+		timeline.add_child_below_node(selected_item, piece)
95
+	else:
96
+		timeline.add_child(piece)
49 97
 	if data.has('no-data') == false:
50 98
 		piece.load_data(data)
99
+	
100
+	piece.connect("gui_input", self, '_on_gui_input', [piece])
51 101
 	events_warning.visible = false
52 102
 	# Indent on create
53 103
 	if indent:
@@ -159,6 +209,7 @@ func load_timeline(filename: String):
159 209
 
160 210
 
161 211
 func clear_timeline():
212
+	_clear_selection()
162 213
 	for event in timeline.get_children():
163 214
 		event.free()
164 215
 
@@ -191,7 +242,7 @@ func create_timeline():
191 242
 
192 243
 func new_timeline():
193 244
 	# This event creates and selects the new timeline
194
-	master_tree.add_timeline(create_timeline()['metadata'], true)
245
+	master_tree.build_timelines(create_timeline()['metadata']['file'])
195 246
 
196 247
 
197 248
 # Saving
@@ -220,9 +271,11 @@ func save_timeline() -> void:
220 271
 # Utilities
221 272
 func fold_all_nodes():
222 273
 	for event in timeline.get_children():
223
-		event.get_node("PanelContainer/VBoxContainer/Header/VisibleToggle").set_pressed(false)
274
+		if event.has_node("PanelContainer/VBoxContainer/Header/VisibleToggle"):
275
+			event.get_node("PanelContainer/VBoxContainer/Header/VisibleToggle").set_pressed(false)
224 276
 
225 277
 
226 278
 func unfold_all_nodes():
227 279
 	for event in timeline.get_children():
228
-		event.get_node("PanelContainer/VBoxContainer/Header/VisibleToggle").set_pressed(true)
280
+		if event.has_node("PanelContainer/VBoxContainer/Header/VisibleToggle"):
281
+			event.get_node("PanelContainer/VBoxContainer/Header/VisibleToggle").set_pressed(true)

+ 1
- 1
addons/dialogic/Other/DialogicClass.gd View File

@@ -102,7 +102,7 @@ static func get_variable(name: String) -> String:
102 102
 ## [`str()`](https://docs.godotengine.org/en/stable/classes/class_string.html) function.
103 103
 ##
104 104
 ## @param name					The name of the variable to edit.
105
-## @param value					The value of the variable to set.
105
+## @param value					The value to set the variable to.
106 106
 static func set_variable(name: String, value) -> void:
107 107
 	DialogicSingleton.set_variable(name, value)
108 108
 

+ 50
- 2
addons/dialogic/Other/DialogicUtil.gd View File

@@ -39,6 +39,12 @@ static func get_character_list() -> Array:
39 39
 	return characters
40 40
 
41 41
 
42
+static func get_sorted_character_list():
43
+	var array = get_character_list()
44
+	array.sort_custom(DialgicSorter, 'sort_resources')
45
+	return array
46
+
47
+
42 48
 static func get_timeline_list() -> Array:
43 49
 	var timelines: Array = []
44 50
 	for file in DialogicResources.listdir(DialogicResources.get_path('TIMELINE_DIR')):
@@ -54,12 +60,17 @@ static func get_timeline_list() -> Array:
54 60
 	return timelines
55 61
 
56 62
 
63
+static func get_sorted_timeline_list():
64
+	var array = get_timeline_list()
65
+	array.sort_custom(DialgicSorter, 'sort_resources')
66
+	return array
67
+
68
+
57 69
 static func get_theme_list() -> Array:
58 70
 	var themes: Array = []
59 71
 	for file in DialogicResources.listdir(DialogicResources.get_path('THEME_DIR')):
60 72
 		if '.cfg' in file:
61
-			var config = ConfigFile.new()
62
-			var err = DialogicResources.get_theme_config(file)
73
+			var config = DialogicResources.get_theme_config(file)
63 74
 			themes.append({
64 75
 				'file': file,
65 76
 				'name': config.get_value('settings','name', file),
@@ -68,10 +79,22 @@ static func get_theme_list() -> Array:
68 79
 	return themes
69 80
 
70 81
 
82
+static func get_sorted_theme_list():
83
+	var array = get_theme_list()
84
+	array.sort_custom(DialgicSorter, 'sort_resources')
85
+	return array
86
+
87
+
71 88
 static func get_default_definitions_list() -> Array:
72 89
 	return DialogicDefinitionsUtil.definitions_json_to_array(DialogicResources.get_default_definitions())
73 90
 
74 91
 
92
+static func get_sorted_default_definitions_list():
93
+	var array = get_default_definitions_list()
94
+	array.sort_custom(DialgicSorter, 'sort_resources')
95
+	return array
96
+
97
+
75 98
 static func generate_random_id() -> String:
76 99
 	return str(OS.get_unix_time()) + '-' + str(100 + randi()%899+1)
77 100
 
@@ -85,3 +108,28 @@ static func compare_dicts(dict_1: Dictionary, dict_2: Dictionary) -> bool:
85 108
 	return false
86 109
 
87 110
 
111
+class DialgicSorter:
112
+
113
+	static func key_available(key, a: Dictionary) -> bool:
114
+		return key in a.keys() and not a[key].empty()
115
+
116
+	static func get_compare_value(a: Dictionary) -> String:
117
+		if key_available('display_name', a):
118
+			return a['display_name']
119
+		
120
+		if key_available('name', a):
121
+			return a['name']
122
+		
123
+		if key_available('id', a):
124
+			return a['id']
125
+		
126
+		if 'metadata' in a.keys():
127
+			var a_metadata = a['metadata']
128
+			if key_available('name', a_metadata):
129
+				return a_metadata['name']
130
+			if key_available('file', a_metadata):
131
+				return a_metadata['file']
132
+		return ''
133
+
134
+	static func sort_resources(a: Dictionary, b: Dictionary):
135
+		return get_compare_value(a).to_lower() < get_compare_value(b).to_lower()

+ 1
- 1
addons/dialogic/Other/timeline_picker.gd View File

@@ -28,7 +28,7 @@ func _about_to_show_menu():
28 28
 	# Adding timelines
29 29
 	timelines_dropdown.get_popup().clear()
30 30
 	var index = 0
31
-	for c in DialogicUtil.get_timeline_list():
31
+	for c in DialogicUtil.get_sorted_timeline_list():
32 32
 		timelines_dropdown.get_popup().add_item(c['name'])
33 33
 		timelines_dropdown.get_popup().set_item_metadata(index, {'file': c['file'], 'color': c['color']})
34 34
 		index += 1

+ 8
- 0
dialogic/themes/theme-1616657657.cfg View File

@@ -7,3 +7,11 @@ name="theme_normal"
7 7
 use_background_color=false
8 8
 background_color="#ff3c7c11"
9 9
 text_color="#ff30c3f0"
10
+
11
+[box]
12
+
13
+size=Vector2( 910, 167 )
14
+
15
+[text]
16
+
17
+margin=Vector2( 20, 10 )

+ 1
- 1
dialogic/timelines/timeline-1616659306.json View File

@@ -1 +1 @@
1
-{"events":[{"change_timeline":"timeline-1616656510.json"}],"metadata":{"dialogic-version":"1.0","file":"timeline-1616659306.json","name":"start"}}
1
+{"events":[{"change_timeline":"timeline-1616656510.json"}],"metadata":{"dialogic-version":"1.0","file":"timeline-1616659306.json","name":"_start"}}

+ 1
- 1
dialogic/timelines/timeline-1616662258.json View File

@@ -1 +1 @@
1
-{"events":[{"wait_seconds":0},{"character":"","portrait":"","text":"Fin de la démo, merci d'avoir joué !"},{"action":"join","character":"character-1616658435.json","portrait":"","position":{"0":false,"1":false,"2":false,"3":false,"4":true}},{"character":"character-1616658435.json","portrait":"","text":"À bientôt dans l'métro !"},{"action":"leaveall","character":"[All]"}],"metadata":{"dialogic-version":"1.0","file":"timeline-1616662258.json","name":"end"}}
1
+{"events":[{"wait_seconds":1},{"character":"","portrait":"","text":"Fin de la démo, merci d'avoir joué !"},{"action":"join","character":"character-1616658435.json","portrait":"","position":{"0":false,"1":false,"2":false,"3":false,"4":true}},{"character":"character-1616658435.json","portrait":"","text":"À bientôt dans l'métro !"},{"action":"leaveall","character":"[All]"}],"metadata":{"dialogic-version":"1.0","file":"timeline-1616662258.json","name":"_end"}}

Loading…
Cancel
Save