1extends Node
2
3export(String, FILE, "*.json") var dialogue_file
4var dialogue_keys = []
5var dialogue_name = ""
6var current = 0
7var dialogue_text = ""
8
9signal dialogue_started
10signal dialogue_finished
11
12func start_dialogue():
13	emit_signal("dialogue_started")
14	current = 0
15	index_dialogue()
16	dialogue_text = dialogue_keys[current].text
17	dialogue_name = dialogue_keys[current].name
18
19
20func next_dialogue():
21	current += 1
22	if current == dialogue_keys.size():
23		emit_signal("dialogue_finished")
24		return
25	dialogue_text = dialogue_keys[current].text
26	dialogue_name = dialogue_keys[current].name
27
28
29func index_dialogue():
30	var dialogue = load_dialogue(dialogue_file)
31	dialogue_keys.clear()
32	for key in dialogue:
33		dialogue_keys.append(dialogue[key])
34
35
36func load_dialogue(file_path):
37	var file = File.new()
38	if file.file_exists(file_path):
39		file.open(file_path, file.READ)
40		var dialogue = parse_json(file.get_as_text())
41		return dialogue
42