From 872d1f9200584973b2156102f0e7f03b3d271687 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Thu, 4 Dec 2025 22:04:59 +0200 Subject: Add initial dialogue system --- dialogue.gd | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 dialogue.gd (limited to 'dialogue.gd') diff --git a/dialogue.gd b/dialogue.gd new file mode 100644 index 0000000..f085ed8 --- /dev/null +++ b/dialogue.gd @@ -0,0 +1,24 @@ +class_name Dialogue +extends Node + +signal next + +@onready var parent: Node2D = get_parent() +@onready var cam: GameCamera = parent.get_node("GameCamera") + +func say(who: Object, text: String): + var tb: TextBubble = preload("res://text_bubble.tscn").instantiate() + tb.text = text + if who is Node2D: + tb.global_position = who.global_position + Vector2(0, -20) + else: + tb.global_position = cam.global_position + + tb.add_to_group("text_bubbles") + parent.add_child(tb) + await next + +func _process(_delta: float): + if Input.is_action_just_pressed("action") or Input.is_action_just_pressed("jump"): + get_tree().call_group("text_bubbles", "queue_free") + next.emit() -- cgit v1.3