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