Buggy but playable, auto-complete on stage 6 still a bug

This commit is contained in:
2023-09-08 20:13:58 -07:00
parent 29140712f6
commit f67963b129
16 changed files with 70 additions and 36 deletions

View File

@@ -142,7 +142,8 @@ public partial class GameManager : Node
projectile.QueueFree();
var main = GetTree().Root.GetNode<Main>("/root/Main");
main.LoadNextLevel(_levelIndex++);
_levelIndex++;
main.LoadNextLevel(_levelIndex);
foreach (var player in Players)
EmitSignal(SignalName.ReselectCharacter, player);

View File

@@ -15,7 +15,7 @@ public partial class Main : Node
{
var sceneToLoad = Levels.ElementAt(indexToLoad);
CallDeferred(nameof(DeferredGoToScene), sceneToLoad);
NumberOfPlayers = numberOfPlayers;
var gameManager = GameManager.Instantiate();
@@ -40,21 +40,13 @@ public partial class Main : Node
{
var currentScene = Levels.ToList().ElementAt(currentSceneIndex);
var nextScene = currentSceneIndex + 1;
CallDeferred(nameof(DeferredGoToScene), Levels.ElementAt(nextScene), currentScene);
CallDeferred(nameof(DeferredGoToScene), Levels.ElementAt(nextScene));
}
}
private void DeferredGoToScene(PackedScene sceneToAdd)
{
var nextScene = GD.Load<PackedScene>(sceneToAdd.ResourcePath);
var newScene = nextScene.Instantiate();
GetTree().Root.AddChild(newScene);
GetTree().Paused = true;
}
private void DeferredGoToScene(PackedScene sceneToAdd, PackedScene sceneToRemove)
{
GetTree().GetFirstNodeInGroup("Level").QueueFree();
if (GetTree().GetFirstNodeInGroup("Level") != null)
GetTree().GetFirstNodeInGroup("Level").QueueFree();
var nextScene = GD.Load<PackedScene>(sceneToAdd.ResourcePath);
var newScene = nextScene.Instantiate();
GetTree().Root.AddChild(newScene);

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=14 format=3 uid="uid://vwrw05ob2caq"]
[gd_scene load_steps=15 format=3 uid="uid://vwrw05ob2caq"]
[ext_resource type="Script" path="res://GameLogic/Main.cs" id="1_g4hua"]
[ext_resource type="PackedScene" uid="uid://btl5fdyjewnwc" path="res://Levels/Scenes/Level3.tscn" id="2_0yhby"]
@@ -14,6 +14,9 @@
[ext_resource type="PackedScene" uid="uid://0hdnmilwrsq6" path="res://Levels/Scenes/Level10.tscn" id="11_o275c"]
[ext_resource type="PackedScene" uid="uid://cxj6yeddshy16" path="res://GameLogic/GameManager.tscn" id="11_wiyvp"]
[sub_resource type="BoxShape3D" id="BoxShape3D_kph2u"]
size = Vector3(5, 20, 27.822)
[node name="Main" type="Node3D"]
script = ExtResource("1_g4hua")
Levels = Array[PackedScene]([ExtResource("2_jq3qe"), ExtResource("3_nhrqr"), ExtResource("2_0yhby"), ExtResource("5_xj47l"), ExtResource("6_xmedq"), ExtResource("7_58n7x"), ExtResource("8_pcp3p"), ExtResource("9_n1hja"), ExtResource("10_rs7ve"), ExtResource("11_o275c")])
@@ -28,3 +31,11 @@ max_polyphony = 10
[node name="Debug Camera" type="Camera3D" parent="."]
transform = Transform3D(-1, 0, -8.74228e-08, -5.69087e-08, 0.759112, 0.65096, 6.63637e-08, 0.65096, -0.759112, 1.40462, 6.10678, -6.91273)
visible = false
[node name="StaticBody3D2" type="StaticBody3D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape3D4" type="CollisionShape3D" parent="StaticBody3D2"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 6.58237)
shape = SubResource("BoxShape3D_kph2u")