From d141bffde6bc91925fa2e1e2e3221483c830486d Mon Sep 17 00:00:00 2001 From: MaddoScientisto Date: Sat, 22 Mar 2025 16:34:08 +0100 Subject: [PATCH] Briefing scene --- .../Timelines/Tutorial/tutorial_switch.dtl | 3 +- Scenes/MainMenu.tscn | 8 +-- Scenes/Maps/Intro_Briefing.tscn | 8 +++ Scenes/test.tscn | 39 +++++++------- Scripts/Misc/DialogueAutoStarter.cs | 52 +++++++++++++++++++ Scripts/Misc/DialogueAutoStarter.cs.uid | 1 + 6 files changed, 86 insertions(+), 25 deletions(-) create mode 100644 Scenes/Maps/Intro_Briefing.tscn create mode 100644 Scripts/Misc/DialogueAutoStarter.cs create mode 100644 Scripts/Misc/DialogueAutoStarter.cs.uid diff --git a/Dialogue/Timelines/Tutorial/tutorial_switch.dtl b/Dialogue/Timelines/Tutorial/tutorial_switch.dtl index 386ccca7..36880062 100644 --- a/Dialogue/Timelines/Tutorial/tutorial_switch.dtl +++ b/Dialogue/Timelines/Tutorial/tutorial_switch.dtl @@ -1,3 +1,4 @@ ICE: Great! You made it to the switch.\ You can press {Buttons.Keyboard_F} or {Buttons.Left_Button_Pad} to activate it. -ICE: Switches come in many forms, they allow you to manipolate your environment by opening doors, triggering devices and such. Always be on the lookout for switches. +ICE: Switches come in many forms, they allow you to manipolate your environment by opening doors, triggering devices and such. +ICE: Always be on the lookout for switches. diff --git a/Scenes/MainMenu.tscn b/Scenes/MainMenu.tscn index 781fee69..bbf7fe19 100644 --- a/Scenes/MainMenu.tscn +++ b/Scenes/MainMenu.tscn @@ -20,9 +20,9 @@ [ext_resource type="Resource" uid="uid://byo74ews118nl" path="res://Resources/Music/No_Reason.tres" id="13_fh7cp"] [ext_resource type="FontFile" uid="uid://cyk27h5aox1n7" path="res://fonts/sector_034.ttf" id="14_yxkem"] -[sub_resource type="AtlasTexture" id="AtlasTexture_w08op"] +[sub_resource type="AtlasTexture" id="AtlasTexture_rs5p5"] atlas = ExtResource("9_riqfo") -region = Rect2(800, 0, 32, 16) +region = Rect2(0, 0, 32, 16) [sub_resource type="Theme" id="Theme_c7h4d"] @@ -35,7 +35,7 @@ outline_color = Color(0, 0, 0, 1) [node name="MainMenu" type="CanvasLayer" node_paths=PackedStringArray("SubMenuHolder", "DefaultSelectedButton", "MusicPlayer")] script = ExtResource("1_702nk") -GameScene = "res://Scenes/Maps/Tutorial.tscn" +GameScene = "uid://dcn2o6hllas78" MainMenuScene = "res://Scenes/MainMenu.tscn" SubMenuHolder = NodePath("SubMenuContainer") DefaultSelectedButton = NodePath("MarginContainer/GridContainer/GameButtons/StartButton") @@ -67,7 +67,7 @@ offset_top = 40.995 offset_right = 186.42 offset_bottom = 56.995 rotation = 3.14159 -texture = SubResource("AtlasTexture_w08op") +texture = SubResource("AtlasTexture_rs5p5") [node name="MarginContainer" type="MarginContainer" parent="."] anchors_preset = 15 diff --git a/Scenes/Maps/Intro_Briefing.tscn b/Scenes/Maps/Intro_Briefing.tscn new file mode 100644 index 00000000..0e11dadb --- /dev/null +++ b/Scenes/Maps/Intro_Briefing.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://dcn2o6hllas78"] + +[ext_resource type="Script" uid="uid://bf0tnhnwttrim" path="res://Scripts/Misc/DialogueAutoStarter.cs" id="1_qu5kv"] + +[node name="IntroBriefing" type="Node2D"] +script = ExtResource("1_qu5kv") +_trackName = &"Mission1_Briefing" +_finishedScenePath = &"uid://bpnahwxmjgb6t" diff --git a/Scenes/test.tscn b/Scenes/test.tscn index e11bd769..2a8f0b32 100644 --- a/Scenes/test.tscn +++ b/Scenes/test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=141 format=4 uid="uid://bv451a8wgty4u"] +[gd_scene load_steps=140 format=4 uid="uid://bv451a8wgty4u"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_8tmoj"] [ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_ksslq"] @@ -61,7 +61,6 @@ [ext_resource type="PackedScene" uid="uid://fxvlaidieiv7" path="res://Scenes/Interactable/ScriptableAreaTrigger.tscn" id="43_kf3qc"] [ext_resource type="Script" uid="uid://dkihoo85jfec5" path="res://Scripts/Resources/Events/MovePlayerEvent.cs" id="44_klwgh"] [ext_resource type="PackedScene" uid="uid://dx1urm7nttkqk" path="res://Scenes/Actors/level_teleporter.tscn" id="44_q5xi2"] -[ext_resource type="Script" uid="uid://b5fesrd4lv8t1" path="res://Scripts/Resources/Events/EventResource.cs" id="45_0bqta"] [ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="45_5qg27"] [ext_resource type="Script" uid="uid://bwox5lmgiijcs" path="res://Scripts/Resources/Events/ActivateEvent.cs" id="45_emjoj"] [ext_resource type="Script" uid="uid://ddv26x2qilprb" path="res://Scripts/Resources/Events/DialogueStartEvent.cs" id="46_i0omr"] @@ -101,10 +100,10 @@ [ext_resource type="Resource" uid="uid://dy53gia1tmkah" path="res://Resources/Items/Points_Pickup.tres" id="94_gd7x4"] [ext_resource type="PackedScene" uid="uid://b7gkxlll3b1eg" path="res://Scenes/Activable/FloorEmitter.tscn" id="94_jna23"] [ext_resource type="Resource" uid="uid://cmra7n6so1x4u" path="res://Resources/BulletScripts/Basic_Enemy_Emitter_Spiral_Bullets.tres" id="95_7m6n7"] +[ext_resource type="Resource" uid="uid://bj331rcsq65es" path="res://Resources/Bullets/EmitterTestBullet.tres" id="95_f37sa"] [ext_resource type="Resource" uid="uid://dodwpect0ldjf" path="res://Resources/Items/Heart_Pickup.tres" id="95_srv0g"] [ext_resource type="PackedScene" uid="uid://nupd3pg74vua" path="res://Scenes/Activable/ScriptableInvisibleEmitter.tscn" id="96_ygp23"] [ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="97_0bqta"] -[ext_resource type="Resource" uid="uid://dtkti2rjlcp3u" path="res://Resources/Bullets/Fire_Emitter_Bullet.tres" id="97_xwjvv"] [ext_resource type="Script" uid="uid://c0ndqalsc4jve" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="98_gvbi8"] [ext_resource type="Script" uid="uid://bngko08ho85p6" path="res://Scripts/Resources/BulletScript.cs" id="99_j6vrf"] [ext_resource type="PackedScene" uid="uid://1yxieu8ekvkm" path="res://Scenes/Items/Heart_Extend_Pickup.tscn" id="99_xwjvv"] @@ -239,17 +238,17 @@ point_count = 2 [sub_resource type="Resource" id="Resource_xhinl"] script = ExtResource("98_gvbi8") -BulletResource = ExtResource("97_xwjvv") +BulletResource = ExtResource("95_f37sa") bulletCount = 1 rotationSpeed = 0.0 -_rotationOffset = 90.0 +_rotationOffset = 0.0 duration = 1.0 spread = 0.0 burstInterval = 0.5 ShotsPerBurst = 100 BurstRate = 0.0 _targetPlayer = false -OverrideOwner = false +OverrideOwner = true Owner = 0 OverrideDamageType = false DamageType = 0 @@ -638,7 +637,7 @@ Invisible = true metadata/_edit_group_ = true [node name="ScriptableAreaTrigger" parent="Parallax2D/Factory Tilemaps/LevelProps/DebugTeleporter" instance=ExtResource("43_kf3qc")] -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_usuub")]) +Events = [SubResource("Resource_usuub")] [node name="BlueKeycard2" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("35_rblsn")] position = Vector2(-1032, -317) @@ -817,7 +816,7 @@ position = Vector2(-1423, -188) [node name="LevelStartTrigger" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("43_kf3qc")] position = Vector2(-781, -160) scale = Vector2(1.455, 1.455) -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_5er5x"), SubResource("Resource_b25hy")]) +Events = [SubResource("Resource_5er5x"), SubResource("Resource_b25hy")] [node name="AreaTrigger2" parent="Parallax2D/Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("28_6au4t")] position = Vector2(-435, -162) @@ -860,7 +859,7 @@ metadata/_edit_group_ = true [node name="Script2" type="Node2D" parent="Parallax2D/Factory Tilemaps/LevelProps/Computer2"] position = Vector2(120, 25) script = ExtResource("42_wigyb") -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_ji7au")]) +Events = [SubResource("Resource_ji7au")] [node name="Computer6" parent="Parallax2D/Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("31_243ec")] position = Vector2(-1113, -139) @@ -870,7 +869,7 @@ metadata/_edit_group_ = true [node name="Script2" type="Node2D" parent="Parallax2D/Factory Tilemaps/LevelProps/Computer6"] position = Vector2(0, 1) script = ExtResource("42_wigyb") -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_ji7au")]) +Events = [SubResource("Resource_ji7au")] [node name="Computer7" parent="Parallax2D/Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("31_243ec")] position = Vector2(-1175.36, 213.708) @@ -881,7 +880,7 @@ metadata/_edit_group_ = true [node name="Script2" type="Node2D" parent="Parallax2D/Factory Tilemaps/LevelProps/Computer7"] position = Vector2(0, 1) script = ExtResource("42_wigyb") -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_ji7au")]) +Events = [SubResource("Resource_ji7au")] [node name="Computer5" parent="Parallax2D/Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("31_243ec")] position = Vector2(-1344, -251) @@ -889,7 +888,7 @@ Targets = [NodePath("Computer5Script")] [node name="Computer5Script" type="Node2D" parent="Parallax2D/Factory Tilemaps/LevelProps/Computer5"] script = ExtResource("42_wigyb") -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_fasrq"), SubResource("Resource_mah4x"), SubResource("Resource_0bqta")]) +Events = [SubResource("Resource_fasrq"), SubResource("Resource_mah4x"), SubResource("Resource_0bqta")] [node name="Computer3" parent="Parallax2D/Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("31_243ec")] position = Vector2(-612.57, -358.528) @@ -897,7 +896,7 @@ Target = NodePath("Script") [node name="Script" type="Node2D" parent="Parallax2D/Factory Tilemaps/LevelProps/Computer3"] script = ExtResource("42_wigyb") -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_o2kpk")]) +Events = [SubResource("Resource_o2kpk")] [node name="Computer4" parent="Parallax2D/Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("31_243ec")] position = Vector2(-791, -505) @@ -905,7 +904,7 @@ Target = NodePath("Node2D") [node name="Node2D" type="Node2D" parent="Parallax2D/Factory Tilemaps/LevelProps/Computer4"] script = ExtResource("42_wigyb") -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_s3g2w")]) +Events = [SubResource("Resource_s3g2w")] [node name="Label" type="Label" parent="Parallax2D/Factory Tilemaps/LevelProps/Computer4"] offset_left = -5.0 @@ -934,11 +933,11 @@ position = Vector2(-792, -407) [node name="BossBattleEndScript" type="Node2D" parent="Parallax2D/Factory Tilemaps/LevelProps"] position = Vector2(-1628.53, -477.628) script = ExtResource("42_wigyb") -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_068l7"), SubResource("Resource_l3nop")]) +Events = [SubResource("Resource_068l7"), SubResource("Resource_l3nop")] [node name="BossBattleStartScript" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("43_kf3qc")] position = Vector2(-1487, -396) -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_4f4id"), SubResource("Resource_s2o7m"), SubResource("Resource_b1dht"), SubResource("Resource_xrgpy"), SubResource("Resource_wma5c")]) +Events = [SubResource("Resource_4f4id"), SubResource("Resource_s2o7m"), SubResource("Resource_b1dht"), SubResource("Resource_xrgpy"), SubResource("Resource_wma5c")] [node name="Enemy13" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("47_u1ve6")] position = Vector2(-1657, -788) @@ -1063,7 +1062,7 @@ position = Vector2(-2000, -736) [node name="ControlPad8" parent="Parallax2D/Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("12_hfkf1")] position = Vector2(-2027, -735) Targets = [NodePath("../HorizontalForceField")] -Requirements = Array[ExtResource("6_8tdlb")]([ExtResource("84_ma1ta")]) +Requirements = [ExtResource("84_ma1ta")] [node name="Ammo6" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("34_17pjh")] position = Vector2(-872, -220) @@ -1185,7 +1184,7 @@ Script = ExtResource("95_7m6n7") InvertSignal = true [node name="InvisibleBulletEmitter" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("96_ygp23")] -position = Vector2(-722, 56) +position = Vector2(-715, 56) rotation = -1.5708 Script = SubResource("Resource_f37sa") @@ -1203,7 +1202,7 @@ position = Vector2(-2072, -211) [node name="ScriptableAreaTrigger" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("43_kf3qc")] position = Vector2(-2063, -232) -Events = Array[ExtResource("45_0bqta")]([SubResource("Resource_l476f"), SubResource("Resource_dskij")]) +Events = [SubResource("Resource_l476f"), SubResource("Resource_dskij")] [node name="ShieldExtendPickup" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("103_0bqta")] position = Vector2(-1646, 38) @@ -1221,7 +1220,7 @@ position = Vector2(-680, -5) position = Vector2(-653, 159) [node name="FairyGuardFsm" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("103_f37sa")] -position = Vector2(-705, 55) +position = Vector2(-669, 55) [node name="FairyGuardFsm2" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("103_f37sa")] position = Vector2(-787, 99) diff --git a/Scripts/Misc/DialogueAutoStarter.cs b/Scripts/Misc/DialogueAutoStarter.cs new file mode 100644 index 00000000..86198e5b --- /dev/null +++ b/Scripts/Misc/DialogueAutoStarter.cs @@ -0,0 +1,52 @@ +using Godot; + +namespace Cirno.Scripts.Misc; + +public partial class DialogueAutoStarter : Node2D +{ + [Export] private StringName _trackName = "timeline"; + [Export] private StringName _finishedScenePath; + + private Node _dialogic; + + public override void _Ready() + { + base._Ready(); + + _dialogic = GetNode("/root/Dialogic"); + _dialogic.ProcessMode = ProcessModeEnum.Always; + + CallDeferred(MethodName.Activate); + } + + private void OnTimelineEnded() + { + if (_dialogic.IsConnected("timeline_ended", Callable.From(OnTimelineEnded))) + { + _dialogic.Disconnect("timeline_ended", Callable.From(OnTimelineEnded)); + } + + DialogueEndAction(); + } + + public bool Activate() + { + if (GlobalState.Instance.SessionSettings.SkipDialogues) + { + DialogueEndAction(); + return true; + } + _dialogic.Connect("timeline_ended", Callable.From(OnTimelineEnded)); + + var dialogicNode = _dialogic.Call("start", _trackName.ToString()); + ((Node)dialogicNode).ProcessMode = ProcessModeEnum.Always; + + return true; + + } + + private void DialogueEndAction() + { + GlobalState.Instance.GotoScene(_finishedScenePath); + } +} \ No newline at end of file diff --git a/Scripts/Misc/DialogueAutoStarter.cs.uid b/Scripts/Misc/DialogueAutoStarter.cs.uid new file mode 100644 index 00000000..22372593 --- /dev/null +++ b/Scripts/Misc/DialogueAutoStarter.cs.uid @@ -0,0 +1 @@ +uid://bf0tnhnwttrim