extends Popup onready var game_time = get_node("/root/GameTimer") var npc_name setget name_set var dialogue setget dialogue_set var answers setget answers_set var npc var answera setget answera_set var answerb setget answerb_set func name_set(new_value): npc_name = new_value $DialogBox/NameBox/NPCName.text = new_value func dialogue_set(new_value): dialogue = new_value $DialogBox/Dialogue.text = new_value func answers_set(new_value): answers = new_value $DialogBox/Answers.text = new_value func answera_set(new_value): answera = new_value $DialogBox/ButtonA.text = new_value func answerb_set(new_value): answerb = new_value $DialogBox/ButtonB.text = new_value func open(): set_process_input(true) game_time.paused = 1 popup() $DialogBox/Tween.interpolate_property( $DialogBox/Dialogue, "percent_visible", 0, 1, 1, Tween.TRANS_LINEAR,Tween.EASE_IN_OUT ) $DialogBox/Tween.start() func close(): set_process_input(false) hide() game_time.paused = 0 func _ready(): set_process_input(false) func _input(event): if event is InputEventKey: if event.scancode == KEY_A: # if _on_ButtonA_pressed(): set_process_input(false) npc.talk("A") elif event.scancode == KEY_B: set_process_input(false) npc.talk("B") func _on_ButtonA_pressed(): var a = InputEventKey.new() a.scancode = KEY_A a.pressed = true # change to false to simulate a key release Input.parse_input_event(a) func _on_ButtonB_pressed(): var a = InputEventKey.new() a.scancode = KEY_B a.pressed = true # change to false to simulate a key release Input.parse_input_event(a)