basic dialogue progression

This commit is contained in:
wooshings
2026-09-04 21:04:58 -07:00
parent 624a6c1c73
commit 3112d6b8bf
13 changed files with 98 additions and 2 deletions
+24
View File
@@ -1,7 +1,31 @@
[gd_scene format=3 uid="uid://dc3nef7mu87lf"] [gd_scene format=3 uid="uid://dc3nef7mu87lf"]
[ext_resource type="Script" uid="uid://cyhw5qm44uykq" path="res://backend/scripts/game.gd" id="1_r8aos"] [ext_resource type="Script" uid="uid://cyhw5qm44uykq" path="res://backend/scripts/game.gd" id="1_r8aos"]
[ext_resource type="Script" uid="uid://dw5jr50hsls5n" path="res://dialogue/scripts/dialogue.gd" id="2_6pot5"]
[ext_resource type="Script" uid="uid://d2d5w1vmd71js" path="res://dialogue/scripts/choice.gd" id="3_iree2"]
[ext_resource type="Script" uid="uid://cu54e7uh65lq0" path="res://dialogue/scripts/scene.gd" id="4_hiff8"]
[sub_resource type="Resource" id="Resource_7gud4"]
script = ExtResource("2_6pot5")
dialogue = "this is a test scene for the dialogue system"
metadata/_custom_type_script = "uid://dw5jr50hsls5n"
[sub_resource type="Resource" id="Resource_2c6wc"]
script = ExtResource("2_6pot5")
dialogue = "this is the next line the character is saying"
metadata/_custom_type_script = "uid://dw5jr50hsls5n"
[sub_resource type="Resource" id="Resource_qfeqt"]
script = ExtResource("2_6pot5")
dialogue = "and this is the last line"
metadata/_custom_type_script = "uid://dw5jr50hsls5n"
[sub_resource type="Resource" id="Resource_tbx8t"]
script = ExtResource("4_hiff8")
dialogue = Array[ExtResource("2_6pot5")]([SubResource("Resource_7gud4"), SubResource("Resource_2c6wc"), SubResource("Resource_qfeqt")])
metadata/_custom_type_script = "uid://cu54e7uh65lq0"
[node name="Game" type="Node" unique_id=1724068054] [node name="Game" type="Node" unique_id=1724068054]
script = ExtResource("1_r8aos") script = ExtResource("1_r8aos")
dialogue_scene = SubResource("Resource_tbx8t")
metadata/_custom_type_script = "uid://cyhw5qm44uykq" metadata/_custom_type_script = "uid://cyhw5qm44uykq"
+5 -2
View File
@@ -1,5 +1,8 @@
extends Node extends Node
class_name Game class_name Game
func _process(_delta: float) -> void: @export var dialogue_scene: DialogueScene
pass
func _ready() -> void:
add_child(await DialogueEncounter.new(self.dialogue_scene))
+5
View File
@@ -0,0 +1,5 @@
extends Resource
class_name Character
@export var character_name: String
@export var portrait: Texture
+1
View File
@@ -0,0 +1 @@
uid://xbl6wraf2l3k
+25
View File
@@ -0,0 +1,25 @@
[gd_resource type="Resource" script_class="DialogueScene" format=3 uid="uid://n5bwjiaraca6"]
[ext_resource type="Script" uid="uid://dw5jr50hsls5n" path="res://dialogue/scripts/dialogue.gd" id="1_tbx8t"]
[ext_resource type="Script" uid="uid://d2d5w1vmd71js" path="res://dialogue/scripts/choice.gd" id="2_7gud4"]
[ext_resource type="Script" uid="uid://cu54e7uh65lq0" path="res://dialogue/scripts/scene.gd" id="3_2c6wc"]
[sub_resource type="Resource" id="Resource_qdk4l"]
script = ExtResource("1_tbx8t")
dialogue = "this is a test of the dialoge sysytem"
metadata/_custom_type_script = "uid://dw5jr50hsls5n"
[sub_resource type="Resource" id="Resource_psx0q"]
script = ExtResource("1_tbx8t")
dialogue = "this should be the second message"
metadata/_custom_type_script = "uid://dw5jr50hsls5n"
[sub_resource type="Resource" id="Resource_elg5j"]
script = ExtResource("1_tbx8t")
dialogue = "i hope you enjoyed"
metadata/_custom_type_script = "uid://dw5jr50hsls5n"
[resource]
script = ExtResource("3_2c6wc")
dialogue = Array[ExtResource("1_tbx8t")]([SubResource("Resource_qdk4l"), SubResource("Resource_psx0q"), SubResource("Resource_elg5j")])
metadata/_custom_type_script = "uid://cu54e7uh65lq0"
+3
View File
@@ -0,0 +1,3 @@
extends Resource
class_name Choice
+1
View File
@@ -0,0 +1 @@
uid://d2d5w1vmd71js
+6
View File
@@ -0,0 +1,6 @@
extends Resource
class_name Dialogue
@export var character: Character
@export_multiline() var dialogue: String
@export var choice: Dictionary[Choice, Dialogue]
+1
View File
@@ -0,0 +1 @@
uid://dw5jr50hsls5n
+7
View File
@@ -0,0 +1,7 @@
extends Resource
class_name DialogueScene
@export var dialogue: Array[Dialogue]
func get_scene() -> Array[Dialogue]:
return self.dialogue
+1
View File
@@ -0,0 +1 @@
uid://cu54e7uh65lq0
+18
View File
@@ -0,0 +1,18 @@
extends Node
class_name DialogueEncounter
var dialogue: DialogueScene
signal step
func _init(path: Resource) -> void:
self.dialogue = path
await Start()
func _input(_event: InputEvent) -> void:
if Input.is_action_just_pressed("ui_accept"):
step.emit()
func Start():
for i in self.dialogue.get_scene():
print(i.dialogue)
await step
+1
View File
@@ -0,0 +1 @@
uid://bglbul22528pf