school-game/godot/DialoguePopup.gd

71 lines
1.6 KiB
GDScript

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)