From 12746a520eca7452c33e00160f8c7a1581755121 Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Tue, 6 May 2025 18:11:37 -0500 Subject: [PATCH] Bit more cleanup --- project.godot | 4 +- scenes/MainMenu.tscn | 14 ++-- scenes/Overworld.tscn | 9 ++- scenes/Singletons/Debug.tscn | 19 ----- scenes/Singletons/Quest.tscn | 20 ++++- scenes/Singletons/UI.tscn | 40 +++++----- scenes/Singletons/VN.tscn | 14 ---- scenes/UI/PauseMenu.tscn | 42 ----------- scenes/UI/QuestMenu.tscn | 40 ++++++++++ scenes/UI/SubsceneUI.tscn | 13 ---- scripts/Cutscene/Battle/BattleStartEvent.gd | 11 --- .../Cutscene/Battle/BattleStartEvent.gd.uid | 1 - scripts/Cutscene/Cooking/CookingStartEvent.gd | 11 --- .../Cutscene/Cooking/CookingStartEvent.gd.uid | 1 - scripts/Cutscene/Cutscene.gd | 42 ----------- scripts/Cutscene/Cutscene.gd.uid | 1 - scripts/Cutscene/CutsceneEvent.gd | 25 ------- scripts/Cutscene/CutsceneEvent.gd.uid | 1 - scripts/Cutscene/Event/CutsceneChangeEvent.gd | 17 ----- .../Cutscene/Event/CutsceneChangeEvent.gd.uid | 1 - .../Cutscene/Event/CutsceneConcurrentEvent.gd | 73 ------------------- .../Event/CutsceneConcurrentEvent.gd.uid | 1 - scripts/Cutscene/Event/CutsceneIfEvent.gd | 32 -------- scripts/Cutscene/Event/CutsceneIfEvent.gd.uid | 1 - scripts/Cutscene/Event/CutscenePauseEvent.gd | 15 ---- .../Cutscene/Event/CutscenePauseEvent.gd.uid | 1 - scripts/Cutscene/Event/CutscenePrintEvent.gd | 10 --- .../Cutscene/Event/CutscenePrintEvent.gd.uid | 1 - scripts/Cutscene/Event/CutsceneWaitEvent.gd | 13 ---- .../Cutscene/Event/CutsceneWaitEvent.gd.uid | 1 - scripts/Cutscene/Event/CutsceneWhileEvent.gd | 43 ----------- .../Cutscene/Event/CutsceneWhileEvent.gd.uid | 1 - .../Entity/OverworldChangeDirectionEvent.gd | 13 ---- .../OverworldChangeDirectionEvent.gd.uid | 1 - .../Event/Entity/OverworldEntityEvent.gd | 10 --- .../Event/Entity/OverworldEntityEvent.gd.uid | 1 - .../Event/VisualNovel/TextboxEvent.gd | 15 ---- .../Event/VisualNovel/TextboxEvent.gd.uid | 1 - .../Scene/OverworldConversationEvent.gd | 29 -------- .../Scene/OverworldConversationEvent.gd.uid | 1 - scripts/Cutscene/TestCutscene.gd | 10 --- scripts/Cutscene/TestCutscene.gd.uid | 1 - scripts/Quest/Objective/QuestObjective.gd | 8 -- scripts/Quest/Objective/QuestObjective.gd.uid | 1 - scripts/Quest/Quest.gd | 37 +--------- scripts/Quest/Quest.gd.uid | 2 +- scripts/Quest/QuestExample.gd | 6 -- scripts/Quest/QuestExample.gd.uid | 1 - scripts/Quest/QuestObjective.gd | 9 +++ scripts/Quest/QuestObjective.gd.uid | 1 + scripts/Quest/QuestStage.gd | 3 + scripts/Quest/QuestStage.gd.uid | 1 + scripts/Singleton/Cutscene.gd | 22 ------ scripts/Singleton/Quest.gd | 14 +++- scripts/Singleton/UI.gd | 26 +------ scripts/Singleton/VN.gd | 2 +- scripts/UI/DebugMenu.gd | 14 +++- scripts/UI/QuestMenu.gd | 6 ++ scripts/UI/QuestMenu.gd.uid | 1 + scripts/UI/SubsceneUI.gd | 15 ---- scripts/UI/SubsceneUI.gd.uid | 1 - 61 files changed, 148 insertions(+), 622 deletions(-) delete mode 100644 scenes/Singletons/Debug.tscn delete mode 100644 scenes/Singletons/VN.tscn delete mode 100644 scenes/UI/PauseMenu.tscn create mode 100644 scenes/UI/QuestMenu.tscn delete mode 100644 scenes/UI/SubsceneUI.tscn delete mode 100644 scripts/Cutscene/Battle/BattleStartEvent.gd delete mode 100644 scripts/Cutscene/Battle/BattleStartEvent.gd.uid delete mode 100644 scripts/Cutscene/Cooking/CookingStartEvent.gd delete mode 100644 scripts/Cutscene/Cooking/CookingStartEvent.gd.uid delete mode 100644 scripts/Cutscene/Cutscene.gd delete mode 100644 scripts/Cutscene/Cutscene.gd.uid delete mode 100644 scripts/Cutscene/CutsceneEvent.gd delete mode 100644 scripts/Cutscene/CutsceneEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/CutsceneChangeEvent.gd delete mode 100644 scripts/Cutscene/Event/CutsceneChangeEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/CutsceneConcurrentEvent.gd delete mode 100644 scripts/Cutscene/Event/CutsceneConcurrentEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/CutsceneIfEvent.gd delete mode 100644 scripts/Cutscene/Event/CutsceneIfEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/CutscenePauseEvent.gd delete mode 100644 scripts/Cutscene/Event/CutscenePauseEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/CutscenePrintEvent.gd delete mode 100644 scripts/Cutscene/Event/CutscenePrintEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/CutsceneWaitEvent.gd delete mode 100644 scripts/Cutscene/Event/CutsceneWaitEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/CutsceneWhileEvent.gd delete mode 100644 scripts/Cutscene/Event/CutsceneWhileEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd delete mode 100644 scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd delete mode 100644 scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd.uid delete mode 100644 scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd delete mode 100644 scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd.uid delete mode 100644 scripts/Cutscene/Scene/OverworldConversationEvent.gd delete mode 100644 scripts/Cutscene/Scene/OverworldConversationEvent.gd.uid delete mode 100644 scripts/Cutscene/TestCutscene.gd delete mode 100644 scripts/Cutscene/TestCutscene.gd.uid delete mode 100644 scripts/Quest/Objective/QuestObjective.gd delete mode 100644 scripts/Quest/Objective/QuestObjective.gd.uid delete mode 100644 scripts/Quest/QuestExample.gd delete mode 100644 scripts/Quest/QuestExample.gd.uid create mode 100644 scripts/Quest/QuestObjective.gd create mode 100644 scripts/Quest/QuestObjective.gd.uid create mode 100644 scripts/Quest/QuestStage.gd create mode 100644 scripts/Quest/QuestStage.gd.uid delete mode 100644 scripts/Singleton/Cutscene.gd create mode 100644 scripts/UI/QuestMenu.gd create mode 100644 scripts/UI/QuestMenu.gd.uid delete mode 100644 scripts/UI/SubsceneUI.gd delete mode 100644 scripts/UI/SubsceneUI.gd.uid diff --git a/project.godot b/project.godot index 631d1c3..c86d65a 100644 --- a/project.godot +++ b/project.godot @@ -17,17 +17,15 @@ config/icon="res://icon.svg" [autoload] -DEBUG="*res://scenes/Singletons/Debug.tscn" BATTLE="*res://scripts/Singleton/Battle.gd" -CUTSCENE="*res://scripts/Singleton/Cutscene.gd" COOKING="*res://scripts/Singleton/Cooking.gd" ITEM="*res://scripts/Singleton/Item.gd" OVERWORLD="*res://scripts/Singleton/Overworld.gd" PAUSE="*res://scripts/Singleton/Pause.gd" QUEST="*res://scenes/Singletons/Quest.tscn" SCENE_MANAGER="*res://scripts/Singleton/SceneManager.gd" -VN="*res://scenes/Singletons/VN.tscn" UI="*res://scenes/Singletons/UI.tscn" +VN="*res://scripts/Singleton/VN.gd" [dotnet] diff --git a/scenes/MainMenu.tscn b/scenes/MainMenu.tscn index 2f50384..d2e1f7f 100644 --- a/scenes/MainMenu.tscn +++ b/scenes/MainMenu.tscn @@ -1,12 +1,16 @@ -[gd_scene load_steps=2 format=3 uid="uid://w1q5eoiejmy3"] - -[ext_resource type="PackedScene" uid="uid://bimrljk1rn7af" path="res://scenes/UI/SubsceneUI.tscn" id="1_yqorp"] +[gd_scene format=3 uid="uid://w1q5eoiejmy3"] [node name="MainMenu" type="Node"] -[node name="SubsceneUI" parent="." instance=ExtResource("1_yqorp")] +[node name="Control" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 -[node name="Label" type="Label" parent="SubsceneUI"] +[node name="Label" type="Label" parent="Control"] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 diff --git a/scenes/Overworld.tscn b/scenes/Overworld.tscn index ebfec14..a7c3244 100644 --- a/scenes/Overworld.tscn +++ b/scenes/Overworld.tscn @@ -1,9 +1,16 @@ -[gd_scene load_steps=3 format=3 uid="uid://tmbx2kit0jyq"] +[gd_scene load_steps=5 format=3 uid="uid://tmbx2kit0jyq"] [ext_resource type="Script" uid="uid://pcncoc6wum4q" path="res://scripts/Scene/OverworldScene.gd" id="1_rfscu"] [ext_resource type="PackedScene" uid="uid://dx6fv8n4jl5ku" path="res://scenes/Maps/TestMap/TestMap.tscn" id="2_puia7"] +[ext_resource type="PackedScene" uid="uid://bimrljk1rn7af" path="res://scenes/UI/SubsceneUI.tscn" id="3_gacct"] +[ext_resource type="PackedScene" uid="uid://bfioi52hjn2kf" path="res://scenes/UI/QuestMenu.tscn" id="3_puia7"] [node name="Overworld" type="Node3D"] script = ExtResource("1_rfscu") [node name="Some-map" parent="." instance=ExtResource("2_puia7")] + +[node name="SubsceneUI" parent="." instance=ExtResource("3_gacct")] + +[node name="QuestMenu" parent="SubsceneUI" instance=ExtResource("3_puia7")] +layout_mode = 1 diff --git a/scenes/Singletons/Debug.tscn b/scenes/Singletons/Debug.tscn deleted file mode 100644 index 76cf4ba..0000000 --- a/scenes/Singletons/Debug.tscn +++ /dev/null @@ -1,19 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://klfo3l0dxlht"] - -[ext_resource type="Script" uid="uid://d36d3fnpi8y30" path="res://scripts/Singleton/Debug.gd" id="1_5spvt"] -[ext_resource type="PackedScene" uid="uid://bimrljk1rn7af" path="res://scenes/UI/SubsceneUI.tscn" id="2_5o7yr"] -[ext_resource type="PackedScene" uid="uid://verg13jtqwvh" path="res://scenes/UI/DebugMenu.tscn" id="2_c2xgb"] - -[node name="Debug" type="Node"] -script = ExtResource("1_5spvt") - -[node name="SubsceneUI" parent="." instance=ExtResource("2_5o7yr")] -layer = 3 - -[node name="DebugMenu" parent="SubsceneUI" instance=ExtResource("2_c2xgb")] -layout_mode = 0 -anchors_preset = 0 -anchor_bottom = 0.0 -offset_right = 207.0 -offset_bottom = 206.0 -grow_vertical = 1 diff --git a/scenes/Singletons/Quest.tscn b/scenes/Singletons/Quest.tscn index 777ad07..3e5604f 100644 --- a/scenes/Singletons/Quest.tscn +++ b/scenes/Singletons/Quest.tscn @@ -1,6 +1,22 @@ -[gd_scene load_steps=2 format=3 uid="uid://cs3kmmd0rfm8w"] +[gd_scene load_steps=5 format=3 uid="uid://cs3kmmd0rfm8w"] [ext_resource type="Script" uid="uid://d0060jeyftia7" path="res://scripts/Singleton/Quest.gd" id="1_v2h4q"] +[ext_resource type="Script" uid="uid://dn0kxbe85n40f" path="res://scripts/Quest/Quest.gd" id="2_n4ii1"] +[ext_resource type="Script" uid="uid://db4yhcxyhiosq" path="res://scripts/Quest/QuestStage.gd" id="3_1ynnx"] +[ext_resource type="Script" uid="uid://de1ao4huhy0hm" path="res://scripts/Quest/QuestObjective.gd" id="3_l8p7p"] -[node name="Quest" type="Node"] +[node name="QuestSystem" type="Node"] script = ExtResource("1_v2h4q") + +[node name="Quests" type="Node" parent="."] + +[node name="Some Quest" type="Node" parent="Quests"] +script = ExtResource("2_n4ii1") + +[node name="Find Ingredients" type="Node" parent="Quests/Some Quest"] +script = ExtResource("3_1ynnx") +stageName = "Find Ingredients" + +[node name="Find Onion" type="Node" parent="Quests/Some Quest/Find Ingredients"] +script = ExtResource("3_l8p7p") +objectiveName = "Find Onions" diff --git a/scenes/Singletons/UI.tscn b/scenes/Singletons/UI.tscn index 7399ef2..75c6648 100644 --- a/scenes/Singletons/UI.tscn +++ b/scenes/Singletons/UI.tscn @@ -1,6 +1,9 @@ -[gd_scene load_steps=2 format=3 uid="uid://b5bwpsh0gcicf"] +[gd_scene load_steps=5 format=3 uid="uid://b5bwpsh0gcicf"] [ext_resource type="Script" uid="uid://dahhuhiu8u88b" path="res://scripts/Singleton/UI.gd" id="1_g3au4"] +[ext_resource type="PackedScene" uid="uid://verg13jtqwvh" path="res://scenes/UI/DebugMenu.tscn" id="2_is0g4"] +[ext_resource type="PackedScene" uid="uid://bfioi52hjn2kf" path="res://scenes/UI/QuestMenu.tscn" id="2_mpokx"] +[ext_resource type="PackedScene" uid="uid://bkx3l0kckf4a8" path="res://scenes/UI/VNTextbox.tscn" id="3_btpxp"] [node name="UI" type="Control"] layout_mode = 3 @@ -9,29 +12,24 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 2 script = ExtResource("1_g3au4") metadata/_custom_type_script = "uid://dahhuhiu8u88b" -[node name="LayerGame" type="Control" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="QuestMenu" parent="." instance=ExtResource("2_mpokx")] +visible = false +layout_mode = 0 +anchors_preset = 0 -[node name="LayerVN" type="Control" parent="."] +[node name="VNTextbox" parent="." instance=ExtResource("3_btpxp")] +visible = false layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -[node name="LayerDebug" type="Control" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="DebugMenu" parent="." instance=ExtResource("2_is0g4")] +visible = false +layout_mode = 0 +anchors_preset = 0 +anchor_bottom = 0.0 +offset_right = 207.0 +offset_bottom = 206.0 +grow_vertical = 1 diff --git a/scenes/Singletons/VN.tscn b/scenes/Singletons/VN.tscn deleted file mode 100644 index 5c3a16d..0000000 --- a/scenes/Singletons/VN.tscn +++ /dev/null @@ -1,14 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://b6pl1cq5y05ad"] - -[ext_resource type="Script" uid="uid://benvf7v4p4i2l" path="res://scripts/Singleton/VN.gd" id="1_01fad"] -[ext_resource type="PackedScene" uid="uid://bkx3l0kckf4a8" path="res://scenes/UI/VNTextbox.tscn" id="2_adm0d"] -[ext_resource type="PackedScene" uid="uid://bimrljk1rn7af" path="res://scenes/UI/SubsceneUI.tscn" id="2_hxsm8"] - -[node name="VN" type="Node"] -script = ExtResource("1_01fad") - -[node name="SubsceneUI" parent="." instance=ExtResource("2_hxsm8")] -layer = 1 - -[node name="VNTextbox" parent="SubsceneUI" instance=ExtResource("2_adm0d")] -layout_mode = 1 diff --git a/scenes/UI/PauseMenu.tscn b/scenes/UI/PauseMenu.tscn deleted file mode 100644 index 4ed8943..0000000 --- a/scenes/UI/PauseMenu.tscn +++ /dev/null @@ -1,42 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://dqf0j61ukvqco"] - -[ext_resource type="Theme" uid="uid://dm7ee4aqjr2dl" path="res://ui/UI Theme.tres" id="1_jnmec"] - -[node name="PauseMenu" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme = ExtResource("1_jnmec") - -[node name="HSplitContainer" type="HBoxContainer" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme = ExtResource("1_jnmec") - -[node name="Panel2" type="PanelContainer" parent="HSplitContainer"] -layout_mode = 2 -size_flags_vertical = 3 -theme = ExtResource("1_jnmec") - -[node name="VSplitContainer" type="VBoxContainer" parent="HSplitContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -theme = ExtResource("1_jnmec") - -[node name="Panel" type="PanelContainer" parent="HSplitContainer/VSplitContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -theme = ExtResource("1_jnmec") - -[node name="Panel2" type="PanelContainer" parent="HSplitContainer/VSplitContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -theme = ExtResource("1_jnmec") diff --git a/scenes/UI/QuestMenu.tscn b/scenes/UI/QuestMenu.tscn new file mode 100644 index 0000000..8622454 --- /dev/null +++ b/scenes/UI/QuestMenu.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=2 format=3 uid="uid://bfioi52hjn2kf"] + +[ext_resource type="Script" uid="uid://cbsrw36kkucje" path="res://scripts/UI/QuestMenu.gd" id="1_a7vj2"] + +[node name="QuestMenu" type="Panel"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_a7vj2") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Quests" type="Label" parent="VBoxContainer"] +layout_mode = 2 +text = "Quests" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="ItemList" type="ItemList" parent="VBoxContainer/HBoxContainer"] +custom_minimum_size = Vector2(250, 0) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 3 +item_count = 2 +item_0/text = "Quest Name 1" +item_1/text = "Quest Name 2" + +[node name="Control" type="Control" parent="VBoxContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 diff --git a/scenes/UI/SubsceneUI.tscn b/scenes/UI/SubsceneUI.tscn deleted file mode 100644 index 3718c1f..0000000 --- a/scenes/UI/SubsceneUI.tscn +++ /dev/null @@ -1,13 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://bimrljk1rn7af"] - -[ext_resource type="Script" uid="uid://x3cc7wsnn0xd" path="res://scripts/UI/SubsceneUI.gd" id="1_m23s2"] - -[node name="SubsceneUI" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_m23s2") -metadata/_custom_type_script = "uid://x3cc7wsnn0xd" diff --git a/scripts/Cutscene/Battle/BattleStartEvent.gd b/scripts/Cutscene/Battle/BattleStartEvent.gd deleted file mode 100644 index 5946c21..0000000 --- a/scripts/Cutscene/Battle/BattleStartEvent.gd +++ /dev/null @@ -1,11 +0,0 @@ -class_name BattleStartEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" - -var battle:Battle; - -func _init(battle:Battle): - super._init(); - self.battle = battle; - -func start() -> void: - super.start(); - getSystems().BATTLE.startBattle(self.battle); \ No newline at end of file diff --git a/scripts/Cutscene/Battle/BattleStartEvent.gd.uid b/scripts/Cutscene/Battle/BattleStartEvent.gd.uid deleted file mode 100644 index 30c7d31..0000000 --- a/scripts/Cutscene/Battle/BattleStartEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://e3ybjhvx0u1j diff --git a/scripts/Cutscene/Cooking/CookingStartEvent.gd b/scripts/Cutscene/Cooking/CookingStartEvent.gd deleted file mode 100644 index 4f3815b..0000000 --- a/scripts/Cutscene/Cooking/CookingStartEvent.gd +++ /dev/null @@ -1,11 +0,0 @@ -class_name CookingStartEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" -const CookingGame = preload("res://scripts/Cooking/CookingGame.gd"); - -var cook:CookingGame; - -func _init(cook:CookingGame) -> void: - self.cook = cook; - -func start() -> void: - getSystems().COOKING.setCookingGame(self.cook); - getSystems().SCENE.setScene(SceneSystem.DawnScene.COOKING); \ No newline at end of file diff --git a/scripts/Cutscene/Cooking/CookingStartEvent.gd.uid b/scripts/Cutscene/Cooking/CookingStartEvent.gd.uid deleted file mode 100644 index bea44c4..0000000 --- a/scripts/Cutscene/Cooking/CookingStartEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cvgjwamgxd47o diff --git a/scripts/Cutscene/Cutscene.gd b/scripts/Cutscene/Cutscene.gd deleted file mode 100644 index 0acc3d6..0000000 --- a/scripts/Cutscene/Cutscene.gd +++ /dev/null @@ -1,42 +0,0 @@ -class_name Cutscene -const CutsceneEvent = preload("res://scripts/Cutscene/CutsceneEvent.gd"); - -var queue:Array[CutsceneEvent] = []; -var cutsceneSystem = null; - -func setupCutscene() -> void: - print_debug("Cutscene setup has not been overriden"); - pass - -func update(delta:float) -> void: - if queue.size() == 0: - return - - var item = queue[0] - if !item.started: - item.start() - item.started = true - - item.update(delta) - - if item.isDone(): - item.end() - queue.erase(item) - - pass - -func add(items:Array[CutsceneEvent]) -> void: - for item in items: - item.cutscene = self - queue.append(item) - -func clear() -> void: - if queue.size() == 0: - return - - var item = queue[0] - if item.started: - item.end() - item.started = false - - queue.clear() diff --git a/scripts/Cutscene/Cutscene.gd.uid b/scripts/Cutscene/Cutscene.gd.uid deleted file mode 100644 index 3aa8b6f..0000000 --- a/scripts/Cutscene/Cutscene.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dyjbgcpycptxj diff --git a/scripts/Cutscene/CutsceneEvent.gd b/scripts/Cutscene/CutsceneEvent.gd deleted file mode 100644 index 66b33fa..0000000 --- a/scripts/Cutscene/CutsceneEvent.gd +++ /dev/null @@ -1,25 +0,0 @@ -class_name CutsceneEvent - -var started:bool = false; -var cutscene = null; - -func _init() -> void: - pass - -func start() -> void: - started = true - -func update(delta:float) -> void: - pass - -func isDone() -> bool: - return true - -func end() -> void: - pass - -func reset() -> void: - started = false - -func getCutscene(): - return cutscene diff --git a/scripts/Cutscene/CutsceneEvent.gd.uid b/scripts/Cutscene/CutsceneEvent.gd.uid deleted file mode 100644 index 5c46a30..0000000 --- a/scripts/Cutscene/CutsceneEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://chb6031ke0xeg diff --git a/scripts/Cutscene/Event/CutsceneChangeEvent.gd b/scripts/Cutscene/Event/CutsceneChangeEvent.gd deleted file mode 100644 index d361ac0..0000000 --- a/scripts/Cutscene/Event/CutsceneChangeEvent.gd +++ /dev/null @@ -1,17 +0,0 @@ -class_name CutsceneChangeEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" - -var getCutscene:Callable -var cutsceneNext:Cutscene - -func _init(getCutscene:Callable) -> void: - super._init(); - self.getCutscene = getCutscene; - -func start() -> void: - super.start(); - self.cutsceneNext = self.getCutscene.call(self); - -func end() -> void: - self.cutsceneNext.setupCutscene(); - self.cutsceneNext.start(); - getSystems().CUTSCENE.setCurrentCutscene(self.cutsceneNext); diff --git a/scripts/Cutscene/Event/CutsceneChangeEvent.gd.uid b/scripts/Cutscene/Event/CutsceneChangeEvent.gd.uid deleted file mode 100644 index 885594d..0000000 --- a/scripts/Cutscene/Event/CutsceneChangeEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://crnwlun27bocw diff --git a/scripts/Cutscene/Event/CutsceneConcurrentEvent.gd b/scripts/Cutscene/Event/CutsceneConcurrentEvent.gd deleted file mode 100644 index 84e16e2..0000000 --- a/scripts/Cutscene/Event/CutsceneConcurrentEvent.gd +++ /dev/null @@ -1,73 +0,0 @@ -class_name CutsceneConcurrentEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" - -enum ConcurrentType { - SEQUENTIAL, - PARALLEL, - FIRST_DONE -} - -var events:Array[CutsceneEvent] = [] -var type:ConcurrentType = ConcurrentType.SEQUENTIAL -var current:int = 0 - -func _init(t:ConcurrentType, evts:Array[CutsceneEvent]) -> void: - super._init(); - self.events = evts; - self.type = t; - -func update(delta:float) -> void: - if self.type == ConcurrentType.PARALLEL: - for event in self.events: - if !event.started: - event.start() - event.started = true - - if !event.isDone(): - event.update(delta) - - if event.isDone(): - event.end() - - elif self.type == ConcurrentType.FIRST_DONE: - for event in self.events: - if !event.started: - event.start() - event.started = true - - event.update(delta) - - if event.isDone(): - event.end() - break - - elif self.type == ConcurrentType.SEQUENTIAL: - if self.current >= self.events.size(): - return; - - var evt = self.events[self.current] - if !evt.started: - evt.start() - evt.started = true - - evt.update(delta) - - if evt.isDone(): - evt.end() - self.current += 1 - -func isDone() -> bool: - if self.type == ConcurrentType.SEQUENTIAL: - return self.current >= self.events.size(); - elif self.type == ConcurrentType.PARALLEL: - for evt in self.events: - if !evt.isDone(): - return false; - return true; - elif self.type == ConcurrentType.FIRST_DONE: - for evt in self.events: - if evt.isDone(): - return true; - return false; - - printerr("Invalid ConcurrentType") - return false; diff --git a/scripts/Cutscene/Event/CutsceneConcurrentEvent.gd.uid b/scripts/Cutscene/Event/CutsceneConcurrentEvent.gd.uid deleted file mode 100644 index 233caca..0000000 --- a/scripts/Cutscene/Event/CutsceneConcurrentEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bwait88cm8pvd diff --git a/scripts/Cutscene/Event/CutsceneIfEvent.gd b/scripts/Cutscene/Event/CutsceneIfEvent.gd deleted file mode 100644 index a8e6b85..0000000 --- a/scripts/Cutscene/Event/CutsceneIfEvent.gd +++ /dev/null @@ -1,32 +0,0 @@ -class_name CutsceneIfEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" - -var eventTrue:CutsceneEvent -var eventFalse:CutsceneEvent -var condition:Callable -var result:bool = false - -func _init(cond:Callable, evtTrue:CutsceneEvent, evtFalse:CutsceneEvent) -> void: - super._init(); - condition = cond; - eventTrue = evtTrue; - eventFalse = evtFalse; - -func start() -> void: - super.start(); - result = self.condition.call(self); - - if result: - eventTrue.start(); - else: - eventFalse.start(); - -func getEvent() -> CutsceneEvent: - if result: - return eventTrue; - return eventFalse; - -func update(delta:float) -> void: - getEvent().update(delta); - -func isDone() -> bool: - return getEvent().isDone(); diff --git a/scripts/Cutscene/Event/CutsceneIfEvent.gd.uid b/scripts/Cutscene/Event/CutsceneIfEvent.gd.uid deleted file mode 100644 index 7f750d3..0000000 --- a/scripts/Cutscene/Event/CutsceneIfEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://2txg4eswrh0q diff --git a/scripts/Cutscene/Event/CutscenePauseEvent.gd b/scripts/Cutscene/Event/CutscenePauseEvent.gd deleted file mode 100644 index 852eaf1..0000000 --- a/scripts/Cutscene/Event/CutscenePauseEvent.gd +++ /dev/null @@ -1,15 +0,0 @@ -class_name CutscenePauseEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" - -var pauseType:PauseSystem.PauseType; -var pauseEntities:Array = []; - -func _init( - type:PauseSystem.PauseType, - entities:Array = [], -) -> void: - super._init(); - self.pauseType = type; - self.pauseEntities = entities; - -func start() -> void: - PAUSE.pause(self.pauseType, self.pauseEntities); diff --git a/scripts/Cutscene/Event/CutscenePauseEvent.gd.uid b/scripts/Cutscene/Event/CutscenePauseEvent.gd.uid deleted file mode 100644 index fdc394a..0000000 --- a/scripts/Cutscene/Event/CutscenePauseEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dj1kkm2vvvr2d diff --git a/scripts/Cutscene/Event/CutscenePrintEvent.gd b/scripts/Cutscene/Event/CutscenePrintEvent.gd deleted file mode 100644 index c63c401..0000000 --- a/scripts/Cutscene/Event/CutscenePrintEvent.gd +++ /dev/null @@ -1,10 +0,0 @@ -class_name CutscenePrintEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" - -var text:String = "" - -func _init(text:String) -> void: - super._init() - self.text = text - -func start() -> void: - print(self.text) diff --git a/scripts/Cutscene/Event/CutscenePrintEvent.gd.uid b/scripts/Cutscene/Event/CutscenePrintEvent.gd.uid deleted file mode 100644 index b03b4cd..0000000 --- a/scripts/Cutscene/Event/CutscenePrintEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cknkpwqllg7nc diff --git a/scripts/Cutscene/Event/CutsceneWaitEvent.gd b/scripts/Cutscene/Event/CutsceneWaitEvent.gd deleted file mode 100644 index 457d4fe..0000000 --- a/scripts/Cutscene/Event/CutsceneWaitEvent.gd +++ /dev/null @@ -1,13 +0,0 @@ -class_name CutsceneWaitEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" - -var wait:float = 0.0 - -func _init(time:float) -> void: - super._init() - self.wait = time - -func update(delta:float) -> void: - self.wait -= delta - -func isDone() -> bool: - return self.wait <= 0.0 diff --git a/scripts/Cutscene/Event/CutsceneWaitEvent.gd.uid b/scripts/Cutscene/Event/CutsceneWaitEvent.gd.uid deleted file mode 100644 index 5b0e1b2..0000000 --- a/scripts/Cutscene/Event/CutsceneWaitEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cskwko5oqqq4m diff --git a/scripts/Cutscene/Event/CutsceneWhileEvent.gd b/scripts/Cutscene/Event/CutsceneWhileEvent.gd deleted file mode 100644 index fedf984..0000000 --- a/scripts/Cutscene/Event/CutsceneWhileEvent.gd +++ /dev/null @@ -1,43 +0,0 @@ -class_name CutsceneWhileEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" - -var events:Array[CutsceneEvent] = [] -var callback:Callable -var current:int = 0 - -func _init(callback:Callable, evt:Array[CutsceneEvent]) -> void: - super._init(); - self.events = evt; - self.callback = callback; - -func shouldLoop() -> bool: - return self.callback.call(self) - -func update(delta:float) -> void: - if self.current >= self.events.size(): - return; - - var evt = self.events[self.current] - if !evt.started: - evt.start() - evt.started = true - - evt.update(delta) - - if evt.isDone(): - evt.end() - self.current += 1 - - if self.current < self.events.size(): - return - - if !self.shouldLoop(): - return - - self.current = 0 - for event in self.events: - event.reset() - -func isDone() -> bool: - if self.shouldLoop(): - return false; - return self.current >= self.events.size(); diff --git a/scripts/Cutscene/Event/CutsceneWhileEvent.gd.uid b/scripts/Cutscene/Event/CutsceneWhileEvent.gd.uid deleted file mode 100644 index 307ca27..0000000 --- a/scripts/Cutscene/Event/CutsceneWhileEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cx4uqll85m28i diff --git a/scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd b/scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd deleted file mode 100644 index 5cf4c2a..0000000 --- a/scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd +++ /dev/null @@ -1,13 +0,0 @@ -class_name OverworldChangeDirectionEvent extends "res://scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd" - -var direction:OverworldEntity.Direction; - -func _init( - entity:OverworldEntity, - direction:OverworldEntity.Direction, -) -> void: - super._init(entity); - self.direction = direction; - -func start() -> void: - entity.direction = direction; \ No newline at end of file diff --git a/scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd.uid b/scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd.uid deleted file mode 100644 index b81b79a..0000000 --- a/scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cu82did0twmkm diff --git a/scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd b/scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd deleted file mode 100644 index 28feac5..0000000 --- a/scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd +++ /dev/null @@ -1,10 +0,0 @@ -class_name OverworldEntityEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" -const OverworldEntity = preload("res://scripts/Entity/OverworldEntity.gd"); - -var entity:OverworldEntity; - -func _init( - entity:OverworldEntity, -) -> void: - super._init(); - self.entity = entity; \ No newline at end of file diff --git a/scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd.uid b/scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd.uid deleted file mode 100644 index d7af7fb..0000000 --- a/scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dmmguqphbe34j diff --git a/scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd b/scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd deleted file mode 100644 index 5d4b9de..0000000 --- a/scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd +++ /dev/null @@ -1,15 +0,0 @@ -class_name TextboxEvent extends "res://scripts/Cutscene/CutsceneEvent.gd" - -var text:String; - -func _init( - text:String -) -> void: - super._init(); - self.text = text; - -func start() -> void: - VN.getTextbox().setText(self.text); - -func isDone() -> bool: - return VN.getTextbox().isClosed; diff --git a/scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd.uid b/scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd.uid deleted file mode 100644 index 018646a..0000000 --- a/scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dypv7erj66kbs diff --git a/scripts/Cutscene/Scene/OverworldConversationEvent.gd b/scripts/Cutscene/Scene/OverworldConversationEvent.gd deleted file mode 100644 index a767625..0000000 --- a/scripts/Cutscene/Scene/OverworldConversationEvent.gd +++ /dev/null @@ -1,29 +0,0 @@ -class_name OverworldConversationEvent extends "res://scripts/Cutscene/Cutscene.gd" -const OverworldEntity = preload("res://scripts/Entity/OverworldEntity.gd"); -const TextboxEvent = preload("res://scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd"); -const PauseEvent = preload("res://scripts/Cutscene/Event/CutscenePauseEvent.gd"); -const OverworldChangeDirectionEvent = preload("res://scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd"); - -var speaker:OverworldEntity; -var interacted:OverworldEntity; -var texts:Array[String]; - -func _init(speaker:OverworldEntity, interacted:OverworldEntity, texts:Array[String]) -> void: - self.speaker = speaker; - self.interacted = interacted; - self.texts = texts; - -func setupCutscene() -> void: - var dirSpeaker = speaker.getDirectionToFace(interacted.position); - var dirInteracted = interacted.getDirectionToFace(speaker.position); - - add([ - OverworldChangeDirectionEvent.new(speaker, dirSpeaker), - OverworldChangeDirectionEvent.new(interacted, dirInteracted), - PauseEvent.new(PauseSystem.PauseType.ENTITY_PAUSED, [ speaker, interacted ]), - ]); - - for text in texts: - add([ TextboxEvent.new(text) ]); - - add([ PauseEvent.new(PauseSystem.PauseType.NOT_PAUSED) ]); diff --git a/scripts/Cutscene/Scene/OverworldConversationEvent.gd.uid b/scripts/Cutscene/Scene/OverworldConversationEvent.gd.uid deleted file mode 100644 index 3dae2d8..0000000 --- a/scripts/Cutscene/Scene/OverworldConversationEvent.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cywuvoi5v4fe3 diff --git a/scripts/Cutscene/TestCutscene.gd b/scripts/Cutscene/TestCutscene.gd deleted file mode 100644 index 5c16025..0000000 --- a/scripts/Cutscene/TestCutscene.gd +++ /dev/null @@ -1,10 +0,0 @@ -class_name TestCutscene extends "res://scripts/Cutscene/Scene/OverworldConversationEvent.gd" - -func _init(speaker:OverworldEntity, interacted:OverworldEntity ) -> void: - super( - speaker, - interacted, - [ - "Hello, my name is GREEN and I am an NPC." - ] - ); diff --git a/scripts/Cutscene/TestCutscene.gd.uid b/scripts/Cutscene/TestCutscene.gd.uid deleted file mode 100644 index 1865f3a..0000000 --- a/scripts/Cutscene/TestCutscene.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://btxgv85qst1jy diff --git a/scripts/Quest/Objective/QuestObjective.gd b/scripts/Quest/Objective/QuestObjective.gd deleted file mode 100644 index 3de2a9b..0000000 --- a/scripts/Quest/Objective/QuestObjective.gd +++ /dev/null @@ -1,8 +0,0 @@ -class_name QuestObjective - -var name:String - -func _init( - name:String -): - self.name = name; diff --git a/scripts/Quest/Objective/QuestObjective.gd.uid b/scripts/Quest/Objective/QuestObjective.gd.uid deleted file mode 100644 index a391887..0000000 --- a/scripts/Quest/Objective/QuestObjective.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bakmt6ufpq33o diff --git a/scripts/Quest/Quest.gd b/scripts/Quest/Quest.gd index 2c15128..62242c6 100644 --- a/scripts/Quest/Quest.gd +++ b/scripts/Quest/Quest.gd @@ -1,36 +1,3 @@ -class_name Quest -const QuestObjective = preload("res://scripts/Quest/Objective/QuestObjective.gd"); +class_name Quest extends Node -enum QuestState { - NOT_STARTED, - ACTIVE, - INACTIVE, - FINISHED -}; - -var questName:String; -var questState:QuestState = QuestState.NOT_STARTED; -var objectives:Array[QuestObjective] = []; -var currentObjective = -1; - -func _init( - questName:String, - objectives:Array[QuestObjective] -) -> void: - self.questName = questName; - self.objectives = objectives; - -func getState() -> QuestState: - return questState; - -func start(): - print("Starting quest: " + questName); - questState = QuestState.ACTIVE; - currentObjective = 0; - -func nextObjective(): - currentObjective = currentObjective + 1; - if currentObjective >= objectives.size(): - questState = QuestState.FINISHED; - return null; - return objectives[currentObjective]; +@export var questName:String = "Some quest" \ No newline at end of file diff --git a/scripts/Quest/Quest.gd.uid b/scripts/Quest/Quest.gd.uid index 52e031a..dcaaee9 100644 --- a/scripts/Quest/Quest.gd.uid +++ b/scripts/Quest/Quest.gd.uid @@ -1 +1 @@ -uid://kuxak18kbjr5 +uid://dn0kxbe85n40f diff --git a/scripts/Quest/QuestExample.gd b/scripts/Quest/QuestExample.gd deleted file mode 100644 index 5aabc24..0000000 --- a/scripts/Quest/QuestExample.gd +++ /dev/null @@ -1,6 +0,0 @@ -class_name QuestExample extends "res://scripts/Quest/Quest.gd" - -func _init() -> void: - super("Example Quest", [ - QuestObjective.new("Test") - ]); diff --git a/scripts/Quest/QuestExample.gd.uid b/scripts/Quest/QuestExample.gd.uid deleted file mode 100644 index 484120e..0000000 --- a/scripts/Quest/QuestExample.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cg3piglr8rbfs diff --git a/scripts/Quest/QuestObjective.gd b/scripts/Quest/QuestObjective.gd new file mode 100644 index 0000000..9e28dab --- /dev/null +++ b/scripts/Quest/QuestObjective.gd @@ -0,0 +1,9 @@ +class_name QuestObjective extends Node + +enum Type { + Item, +} + +@export var objectiveName:String = "Some objective" + +@export var objectiveType:Type = Type.Item \ No newline at end of file diff --git a/scripts/Quest/QuestObjective.gd.uid b/scripts/Quest/QuestObjective.gd.uid new file mode 100644 index 0000000..5eeb5c5 --- /dev/null +++ b/scripts/Quest/QuestObjective.gd.uid @@ -0,0 +1 @@ +uid://de1ao4huhy0hm diff --git a/scripts/Quest/QuestStage.gd b/scripts/Quest/QuestStage.gd new file mode 100644 index 0000000..e5b4b5e --- /dev/null +++ b/scripts/Quest/QuestStage.gd @@ -0,0 +1,3 @@ +class_name QuestStage extends Node + +@export var stageName:String = "Some stage" \ No newline at end of file diff --git a/scripts/Quest/QuestStage.gd.uid b/scripts/Quest/QuestStage.gd.uid new file mode 100644 index 0000000..bc3e9b9 --- /dev/null +++ b/scripts/Quest/QuestStage.gd.uid @@ -0,0 +1 @@ +uid://db4yhcxyhiosq diff --git a/scripts/Singleton/Cutscene.gd b/scripts/Singleton/Cutscene.gd deleted file mode 100644 index 1ec9c57..0000000 --- a/scripts/Singleton/Cutscene.gd +++ /dev/null @@ -1,22 +0,0 @@ -extends Node - -var currentCutscene:Cutscene = null; - -func _process(delta: float) -> void: - if PAUSE.getPauseState() == PAUSE.PauseType.FULLY_PAUSED: - return; - - if currentCutscene != null: - currentCutscene.update(delta); - -func _exit_tree() -> void: - if currentCutscene != null: - currentCutscene.clear(); - -func setCurrentCutscene(cutscene:Cutscene) -> void: - if currentCutscene != null: - currentCutscene.clear(); - - currentCutscene = cutscene; - cutscene.cutsceneSystem = self; - currentCutscene.setupCutscene(); diff --git a/scripts/Singleton/Quest.gd b/scripts/Singleton/Quest.gd index 2ebcc6a..e4b4381 100644 --- a/scripts/Singleton/Quest.gd +++ b/scripts/Singleton/Quest.gd @@ -1 +1,13 @@ -class_name QuestSystem extends Node \ No newline at end of file +class_name QuestSystem extends Node + +var quests:Array[Quest] + +func _ready() -> void: + _updateQuests() + pass + +func _updateQuests() -> void: + quests = [] + for quest in $Quests.get_children(): + if quest is Quest: + quests.append(quest) \ No newline at end of file diff --git a/scripts/Singleton/UI.gd b/scripts/Singleton/UI.gd index 4b0bf1e..f7db01a 100644 --- a/scripts/Singleton/UI.gd +++ b/scripts/Singleton/UI.gd @@ -1,25 +1,5 @@ class_name UISystem extends Control -enum Layer { - Game, - VN, - Test, - Debug -} - -func addSubscene(subscene:Control, layer:Layer) -> void: - subscene.originalParent.remove_child.call_deferred(subscene) - - match layer: - Layer.Game: - $LayerGame.add_child.call_deferred(subscene) - Layer.Debug: - $LayerDebug.add_child.call_deferred(subscene) - Layer.VN: - $LayerVN.add_child.call_deferred(subscene) - _: - push_error("Invalid layer: " + str(layer)) - return - -func removeSubscene(subscene:Control) -> void: - subscene.get_parent().remove_child(subscene) +func _process(delta: float) -> void: + # This needs to always be at the end of the parent node's tree + get_parent().move_child(self, get_parent().get_child_count() - 1) diff --git a/scripts/Singleton/VN.gd b/scripts/Singleton/VN.gd index c4aba40..ac1cdec 100644 --- a/scripts/Singleton/VN.gd +++ b/scripts/Singleton/VN.gd @@ -4,7 +4,7 @@ const VNTextbox = preload("res://scripts/UI/VNTextbox.gd") var vnTextbox:VNTextbox = null func _ready() -> void: - vnTextbox = $SubsceneUI/VNTextbox + vnTextbox = UI.get_node("VNTextbox") func getTextbox() -> VNTextbox: return vnTextbox diff --git a/scripts/UI/DebugMenu.gd b/scripts/UI/DebugMenu.gd index 7c984f0..4134503 100644 --- a/scripts/UI/DebugMenu.gd +++ b/scripts/UI/DebugMenu.gd @@ -1,6 +1,8 @@ class_name DebugMenu extends VBoxContainer func _ready() -> void: + hide() + $MainMenu.connect("pressed", _on_MainMenu_pressed); $OverworldOption/Overworld.connect("pressed", _on_Overworld_pressed); $Quests.connect("pressed", _on_Quests_pressed); @@ -13,15 +15,23 @@ func _ready() -> void: $OverworldOption/MapDropdown.add_item(map, i); i = i + 1; +func _process(delta: float) -> void: + if Input.is_action_just_pressed("debug"): + print("Debug key pressed") + if is_visible(): + hide() + else: + show() + func _on_MainMenu_pressed(): SCENE_MANAGER.setScene("MainMenu"); - DEBUG.hideMenu() + hide() func _on_Overworld_pressed(): var keys:Array[String] = OVERWORLD.MAPS.keys() OVERWORLD.setMap(keys[$OverworldOption/MapDropdown.selected]) SCENE_MANAGER.setScene("Overworld"); - DEBUG.hideMenu() + hide() func _on_Quests_pressed(): print("Quests pressed") diff --git a/scripts/UI/QuestMenu.gd b/scripts/UI/QuestMenu.gd new file mode 100644 index 0000000..abea60a --- /dev/null +++ b/scripts/UI/QuestMenu.gd @@ -0,0 +1,6 @@ +class_name QuestMenu extends Control + +func _ready() -> void: + $VBoxContainer/HBoxContainer/ItemList.clear() + for quest in QUEST.quests: + $VBoxContainer/HBoxContainer/ItemList.add_item(quest.questName) diff --git a/scripts/UI/QuestMenu.gd.uid b/scripts/UI/QuestMenu.gd.uid new file mode 100644 index 0000000..376d98b --- /dev/null +++ b/scripts/UI/QuestMenu.gd.uid @@ -0,0 +1 @@ +uid://cbsrw36kkucje diff --git a/scripts/UI/SubsceneUI.gd b/scripts/UI/SubsceneUI.gd deleted file mode 100644 index 8dbbe82..0000000 --- a/scripts/UI/SubsceneUI.gd +++ /dev/null @@ -1,15 +0,0 @@ -class_name SubsceneUI extends Control - -@export var layer:UISystem.Layer = UISystem.Layer.Game; -var originalParent:Node = null - -func _ready() -> void: - originalParent = self.get_parent() - originalParent.tree_exiting.connect(onParentExiting) - UI.addSubscene(self, layer) - -func onParentExiting() -> void: - if originalParent: - originalParent.tree_exiting.disconnect(onParentExiting) - UI.removeSubscene(self) - originalParent = null diff --git a/scripts/UI/SubsceneUI.gd.uid b/scripts/UI/SubsceneUI.gd.uid deleted file mode 100644 index 0452497..0000000 --- a/scripts/UI/SubsceneUI.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://x3cc7wsnn0xd