forked from harper/spooktober-vnj
basic dialogue progression
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
extends Resource
|
||||||
|
class_name Character
|
||||||
|
|
||||||
|
@export var character_name: String
|
||||||
|
@export var portrait: Texture
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://xbl6wraf2l3k
|
||||||
@@ -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"
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
extends Resource
|
||||||
|
class_name Choice
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://d2d5w1vmd71js
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
extends Resource
|
||||||
|
class_name Dialogue
|
||||||
|
|
||||||
|
@export var character: Character
|
||||||
|
@export_multiline() var dialogue: String
|
||||||
|
@export var choice: Dictionary[Choice, Dialogue]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://dw5jr50hsls5n
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
extends Resource
|
||||||
|
class_name DialogueScene
|
||||||
|
|
||||||
|
@export var dialogue: Array[Dialogue]
|
||||||
|
|
||||||
|
func get_scene() -> Array[Dialogue]:
|
||||||
|
return self.dialogue
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://cu54e7uh65lq0
|
||||||
@@ -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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://bglbul22528pf
|
||||||
Reference in New Issue
Block a user