summaryrefslogtreecommitdiffstats
path: root/dialogue.gd
diff options
context:
space:
mode:
Diffstat (limited to 'dialogue.gd')
-rw-r--r--dialogue.gd24
1 files changed, 24 insertions, 0 deletions
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()