summaryrefslogtreecommitdiffstats
path: root/dialogue.gd
diff options
context:
space:
mode:
Diffstat (limited to 'dialogue.gd')
-rw-r--r--dialogue.gd47
1 files changed, 0 insertions, 47 deletions
diff --git a/dialogue.gd b/dialogue.gd
deleted file mode 100644
index 311d5e2..0000000
--- a/dialogue.gd
+++ /dev/null
@@ -1,47 +0,0 @@
-class_name Dialogue
-extends Node
-
-signal next(arg: Variant)
-
-@onready var parent: Node2D = get_parent()
-@onready var cam: GameCamera = parent.get_node("GameCamera")
-
-enum Type { SAY, ASK }
-var type: Type
-
-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)
- type = Type.SAY
- await next
-
-func ask(who: Object, text: String, options: Array[String]) -> String:
- var tb: TextBubble = preload("res://text_bubble.tscn").instantiate()
- tb.text = text
- tb.options = options
- tb.connect("answered", _on_answered)
- 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)
- type = Type.ASK
- return await next
-
-func _process(_delta: float):
- if type == Type.SAY and (Input.is_action_just_pressed("action") or Input.is_action_just_pressed("jump")):
- get_tree().call_group("text_bubbles", "queue_free")
- next.emit()
-
-func _on_answered(answer: String):
- get_tree().call_group("text_bubbles", "queue_free")
- next.emit(answer)