diff --git a/Audio/BGM/An-Imitation-of-Heaven.ogg b/Audio/BGM/An-Imitation-of-Heaven.ogg index 290797d..d83494e 100644 Binary files a/Audio/BGM/An-Imitation-of-Heaven.ogg and b/Audio/BGM/An-Imitation-of-Heaven.ogg differ diff --git a/Audio/BGM/An-Imitation-of-Heaven.ogg.import b/Audio/BGM/An-Imitation-of-Heaven.ogg.import index fd60de8..917930e 100644 --- a/Audio/BGM/An-Imitation-of-Heaven.ogg.import +++ b/Audio/BGM/An-Imitation-of-Heaven.ogg.import @@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/An-Imitation-of-Heaven.ogg-12654ddfdf5a8cd77d [params] loop=true -loop_offset=0 -bpm=0 +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Audio/BGM/BossTheme.ogg b/Audio/BGM/BossTheme.ogg index f5465ab..4853da1 100644 Binary files a/Audio/BGM/BossTheme.ogg and b/Audio/BGM/BossTheme.ogg differ diff --git a/Audio/BGM/BossTheme.ogg.import b/Audio/BGM/BossTheme.ogg.import index d311c90..5aa9796 100644 --- a/Audio/BGM/BossTheme.ogg.import +++ b/Audio/BGM/BossTheme.ogg.import @@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/BossTheme.ogg-459b51256339e59464889a466918555 [params] loop=true -loop_offset=0 -bpm=0 +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/Enemies/Attacks/GodCircuitAttacks/LaserAttack.tscn b/Enemies/Attacks/GodCircuitAttacks/LaserAttack.tscn index a242ef1..c821769 100644 --- a/Enemies/Attacks/GodCircuitAttacks/LaserAttack.tscn +++ b/Enemies/Attacks/GodCircuitAttacks/LaserAttack.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=6 format=3 uid="uid://uwia12i7yykb"] +[gd_scene load_steps=7 format=3 uid="uid://uwia12i7yykb"] [ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_4uor3"] [ext_resource type="Texture2D" uid="uid://bunon01jmxhbx" path="res://Textures/Projectiles/Layer 2.png" id="1_a70u8"] @@ -14,13 +14,21 @@ point_count = 10 [sub_resource type="BoxShape3D" id="BoxShape3D_g5fdd"] size = Vector3(0.553759, 1.22067, 1.58866) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8nabx"] +vertex_color_use_as_albedo = true +albedo_color = Color(0.47451, 0.0196078, 0.0862745, 1) +emission = Color(0.905882, 0.254902, 0, 1) +emission_energy_multiplier = 19.32 +subsurf_scatter_strength = 0.07 +backlight = Color(1, 0, 0, 1) + [node name="Path3D" type="Path3D"] curve = SubResource("Curve3D_n05rs") script = ExtResource("1_4uor3") _projectileSpeed = 5.0 [node name="PathFollow3D" type="PathFollow3D" parent="."] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 1, 1, 10) +transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 1, 1, 10) progress = 27.0 [node name="RigidBody3D" type="RigidBody3D" parent="PathFollow3D"] @@ -39,6 +47,8 @@ shape = SubResource("BoxShape3D_g5fdd") [node name="Sprite3D" type="Sprite3D" parent="PathFollow3D/RigidBody3D/CollisionShape3D"] transform = Transform3D(-2.18557e-08, 0, 0.5, 0, 0.5, 0, -0.5, 0, -2.18557e-08, 0, 0, 0) +material_override = SubResource("StandardMaterial3D_8nabx") +modulate = Color(0.901961, 0.12549, 0.34902, 1) axis = 1 texture = ExtResource("1_a70u8") diff --git a/Enemies/Attacks/GodCircuitAttacks/PyramidAttack.cs b/Enemies/Attacks/GodCircuitAttacks/PyramidAttack.cs index caaeee9..04a5aab 100644 --- a/Enemies/Attacks/GodCircuitAttacks/PyramidAttack.cs +++ b/Enemies/Attacks/GodCircuitAttacks/PyramidAttack.cs @@ -1,4 +1,4 @@ -using Godot; +using Godot; public partial class PyramidAttack : Node3D { @@ -9,26 +9,26 @@ public partial class PyramidAttack : Node3D public override void _EnterTree() { - _animationPlayer.AnimationFinished += Delete; + _animationPlayer.AnimationFinished += Delete; } public void OnPlayerHit(Node node) { - SetPhysicsProcess(false); + SetPhysicsProcess(false); - if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) - { - GD.Print("Player hit: " + character.Name); - character.Call(Character.MethodName.OnHit, this); - } + if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) + { + GD.Print("Player hit: " + character.Name); + character.Call(Character.MethodName.OnHit, this); + } - QueueFree(); - isDeleted = true; + QueueFree(); + isDeleted = true; } public void Delete(StringName name) { - if (!isDeleted) - QueueFree(); - isDeleted = true; + if (!isDeleted) + QueueFree(); + isDeleted = true; } -} \ No newline at end of file +} diff --git a/Enemies/Scripts/GodCircuit.cs b/Enemies/Scripts/GodCircuit.cs index 59cef43..1afb11f 100644 --- a/Enemies/Scripts/GodCircuit.cs +++ b/Enemies/Scripts/GodCircuit.cs @@ -16,46 +16,46 @@ public partial class GodCircuit : Node3D private void OnHit(Node3D node) { - if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) - { - GD.Print("Player hit: " + character.Name); - character.Call(Character.MethodName.OnHit, node); - } - else - { - var hpComponent = GetNode("HP Component"); - if (hpComponent.CurrentHP > 0) - { - GD.Print("Hit"); - _animationPlayer.Play("OnHit"); - hpComponent.TakeDamage(1); - EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP); + if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) + { + GD.Print("Player hit: " + character.Name); + character.Call(Character.MethodName.OnHit, node); + } + else + { + var hpComponent = GetNode("HP Component"); + if (hpComponent.CurrentHP > 0) + { + GD.Print("Hit"); + _animationPlayer.Play("OnHit"); + hpComponent.TakeDamage(1); + EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP); - if (hpComponent.CurrentHP <= 0) - { - EmitSignal(SignalName.DestroyRemainingOrbs); - _animationPlayer.Play("OnDeath"); - _animationPlayer.AnimationFinished += OnGameFinished; - } - } - } + if (hpComponent.CurrentHP <= 0) + { + EmitSignal(SignalName.DestroyRemainingOrbs); + _animationPlayer.Play("OnDeath"); + _animationPlayer.AnimationFinished += OnGameFinished; + } + } + } } private void OnBossOrbDestroyed() { - var hpComponent = GetNode("HP Component"); - _animationPlayer.Play("OnHit"); - hpComponent.TakeDamage(60); - EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP); + var hpComponent = GetNode("HP Component"); + _animationPlayer.Play("OnHit"); + hpComponent.TakeDamage(60); + EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP); - if (hpComponent.CurrentHP <= 0) - hpComponent.CurrentHP = 1; + if (hpComponent.CurrentHP <= 0) + hpComponent.CurrentHP = 1; } private void OnGameFinished(StringName animationName) { - GD.Print("On game ending"); - EmitSignal(SignalName.OnGameEnding); - QueueFree(); + GD.Print("On game ending"); + EmitSignal(SignalName.OnGameEnding); + QueueFree(); } } diff --git a/Enemies/Scripts/MeleeEnemy.cs b/Enemies/Scripts/MeleeEnemy.cs index 44400b7..c882c94 100644 --- a/Enemies/Scripts/MeleeEnemy.cs +++ b/Enemies/Scripts/MeleeEnemy.cs @@ -4,22 +4,22 @@ using System.Linq; public partial class MeleeEnemy : BasicEnemy { [Export] - private float _speed = 0.4f; + private float _speed = 0.8f; private bool _targetingPlayer = false; [Export] - private double _distanceToPlayer = 3; + private double _distanceToPlayer = 4; public override void _PhysicsProcess(double delta) { - var players = GetTree().GetNodesInGroup("Player").Cast(); - if (players.Any()) - { - var target = players.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault(); - if (_targetingPlayer || Position.DistanceTo(target.Position) < _distanceToPlayer) - { - Position = Position.MoveToward(target.Position, _speed * (float)delta); - _targetingPlayer = true; - } - } + var players = GetTree().GetNodesInGroup("Player").Cast(); + if (players.Any()) + { + var target = players.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault(); + if (_targetingPlayer || Position.DistanceTo(target.Position) < _distanceToPlayer) + { + Position = Position.MoveToward(target.Position, _speed * (float)delta); + _targetingPlayer = true; + } + } } -} \ No newline at end of file +} diff --git a/GameLogic/GameManager.cs b/GameLogic/GameManager.cs index f710a0d..898f4af 100644 --- a/GameLogic/GameManager.cs +++ b/GameLogic/GameManager.cs @@ -23,138 +23,138 @@ public partial class GameManager : Node public override void _Ready() { - var main = GetTree().Root.GetNode
("/root/Main"); - for (var i = 0; i < main.NumberOfPlayers; i++) - { - var player = PlayerScenes[i].Instantiate(); - var castedPlayer = (Player)player; - castedPlayer.PlayerNumber = i + 1; - Players = Players.Append(castedPlayer); - GetTree().Root.AddChild(player); - } + var main = GetTree().Root.GetNode
("/root/Main"); + for (var i = 0; i < main.NumberOfPlayers; i++) + { + var player = PlayerScenes[i].Instantiate(); + var castedPlayer = (Player)player; + castedPlayer.PlayerNumber = i + 1; + Players = Players.Append(castedPlayer); + GetTree().Root.AddChild(player); + } } public void OnAllEnemiesDefeated() { - OnLevelClear(); + OnLevelClear(); } public void OnHandleCharacterSelectUI(Player player) { - EmitSignal(SignalName.ReselectCharacter, player); + EmitSignal(SignalName.ReselectCharacter, player); } public void SetToNextCharacter(Player player) { - player.CharacterIndex = (++player.CharacterIndex) % player.CharactersLeftOnStage.Count(); - GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex)); + player.CharacterIndex = (++player.CharacterIndex) % player.CharactersLeftOnStage.Count(); + GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex)); } public void SetToPreviousCharacter(Player player) { - player.CharacterIndex = player.CharacterIndex == 0 ? player.CharactersLeftOnStage.Count() - 1 : --player.CharacterIndex; + player.CharacterIndex = player.CharacterIndex == 0 ? player.CharactersLeftOnStage.Count() - 1 : --player.CharacterIndex; } public void ResetPlayerPosition(Player player) { - player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter); - GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex)); + player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter); + GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex)); } public void OnCharacterSelected(Player player) { - var sfxPlayer = GetTree().Root.GetNode("Main/SFXPlayer"); - var audioStream = ResourceLoader.Load("Audio/SFX/Select.wav"); - sfxPlayer.Stream = audioStream; - sfxPlayer.Play(); - if (player.CharactersLeftOnStage.Any()) - { - var character = player.CharactersLeftOnStage[player.CharacterIndex]; - var instance = (Character)character.Instantiate(); - instance.Initialize(player); - player.SelectedCharacter = instance; - player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter); - GetTree().Root.AddChild(player.SelectedCharacter); - } + var sfxPlayer = GetTree().Root.GetNode("Main/SFXPlayer"); + var audioStream = ResourceLoader.Load("Audio/SFX/Select.wav"); + sfxPlayer.Stream = audioStream; + sfxPlayer.Play(); + if (player.CharactersLeftOnStage.Any()) + { + var character = player.CharactersLeftOnStage[player.CharacterIndex]; + var instance = (Character)character.Instantiate(); + instance.Initialize(player); + player.SelectedCharacter = instance; + player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter); + GetTree().Root.AddChild(player.SelectedCharacter); + } } public void RemoveCharacter(Player player) { - ResetPlayerPosition(player); + ResetPlayerPosition(player); - player.CharactersLeftOnStage.RemoveAt(player.CharacterIndex); - if (player.SelectedCharacter is not null) - GetTree().Root.RemoveChild(player.SelectedCharacter); + player.CharactersLeftOnStage.RemoveAt(player.CharacterIndex); + if (player.SelectedCharacter is not null) + GetTree().Root.RemoveChild(player.SelectedCharacter); - player.CharacterIndex = 0; - if (player.CharactersLeftOnStage.Any()) - EmitSignal(SignalName.ReselectCharacter, player); + player.CharacterIndex = 0; + if (player.CharactersLeftOnStage.Any()) + EmitSignal(SignalName.ReselectCharacter, player); - if (!player.CharactersExited.Any() && !player.CharactersLeftOnStage.Any()) - SetGameOver(player, true); + if (!player.CharactersExited.Any() && !player.CharactersLeftOnStage.Any()) + SetGameOver(player, true); - if (Players.All(x => !x.CharactersLeftOnStage.Any()) && Players.Any(x => x.CharactersExited.Any())) - OnLevelClear(); + if (Players.All(x => !x.CharactersLeftOnStage.Any()) && Players.Any(x => x.CharactersExited.Any())) + OnLevelClear(); } public void RemoveCharacterAndAddToExit(Player player) { - ResetPlayerPosition(player); - player.CharactersExited.Add(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex)); - RemoveCharacter(player); + ResetPlayerPosition(player); + player.CharactersExited.Add(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex)); + RemoveCharacter(player); } public void SetGameOver(Player player, bool isGameOver) { - player.GameOver = isGameOver; - if (isGameOver) - EmitSignal(SignalName.OnPlayerGameOver, player); - GD.Print($"Game over for {player.Name}"); + player.GameOver = isGameOver; + if (isGameOver) + EmitSignal(SignalName.OnPlayerGameOver, player); + GD.Print($"Game over for {player.Name}"); } public void ReloadGameScene() { - GD.Print("Reloading scene"); - var players = GetTree().Root.GetChildren().OfType(); - foreach (var player in players) - player.QueueFree(); - var levels = GetTree().Root.GetChildren().OfType(); - foreach (var level in levels) - level.QueueFree(); - GetTree().ReloadCurrentScene(); + GD.Print("Reloading scene"); + var players = GetTree().Root.GetChildren().OfType(); + foreach (var player in players) + player.QueueFree(); + var levels = GetTree().Root.GetChildren().OfType(); + foreach (var level in levels) + level.QueueFree(); + GetTree().ReloadCurrentScene(); } public void OnLevelClear() { - var enemies = GetTree().GetNodesInGroup("Enemy").Where(x => !x.IsQueuedForDeletion()); - foreach (var enemy in enemies) - enemy.QueueFree(); + var enemies = GetTree().GetNodesInGroup("Enemy").Where(x => !x.IsQueuedForDeletion()); + foreach (var enemy in enemies) + enemy.QueueFree(); - var playerCharacters = GetTree().GetNodesInGroup("Player"); + var playerCharacters = GetTree().GetNodesInGroup("Player"); - EmitSignal(SignalName.ClearPlayerBG, 0); - EmitSignal(SignalName.ClearPlayerBG, 1); + EmitSignal(SignalName.ClearPlayerBG, 0); + EmitSignal(SignalName.ClearPlayerBG, 1); - foreach (var player in Players) - { - player.CharactersLeftOnStage.AddRange(player.CharactersExited); - player.CharactersExited.Clear(); - player.CharacterIndex = 0; - } + foreach (var player in Players) + { + player.CharactersLeftOnStage.AddRange(player.CharactersExited); + player.CharactersExited.Clear(); + player.CharacterIndex = 0; + } - foreach (var character in playerCharacters) - character.GetParent().RemoveChild(character); + foreach (var character in playerCharacters) + character.GetParent().RemoveChild(character); - var projectiles = GetTree().GetNodesInGroup("Projectile").Where(x => !x.IsQueuedForDeletion()); - foreach (var projectile in projectiles) - projectile.QueueFree(); + var projectiles = GetTree().GetNodesInGroup("Projectile").Where(x => !x.IsQueuedForDeletion()); + foreach (var projectile in projectiles) + projectile.QueueFree(); - var main = GetTree().Root.GetNode
("/root/Main"); - if (_levelIndex < main.Levels.Count) - { - _levelIndex++; - main.LoadNextLevel(_levelIndex); - } + var main = GetTree().Root.GetNode
("/root/Main"); + if (_levelIndex < main.Levels.Count) + { + _levelIndex++; + main.LoadNextLevel(_levelIndex); + } } } diff --git a/GameLogic/Main.cs b/GameLogic/Main.cs index 65fcb9b..e20d3ea 100644 --- a/GameLogic/Main.cs +++ b/GameLogic/Main.cs @@ -15,64 +15,64 @@ public partial class Main : Node public override void _Ready() { - Input.MouseMode = Input.MouseModeEnum.Captured; + Input.MouseMode = Input.MouseModeEnum.Captured; } public override void _Process(double delta) { - _fpsCounter.Text = $"FPS: {Engine.GetFramesPerSecond()}"; + _fpsCounter.Text = $"FPS: {Engine.GetFramesPerSecond()}"; } public void LoadLevel(int indexToLoad, int numberOfPlayers) { - var sceneToLoad = Levels.ElementAt(indexToLoad); - CallDeferred(nameof(DeferredGoToScene), sceneToLoad); + var sceneToLoad = Levels.ElementAt(indexToLoad); + CallDeferred(nameof(DeferredGoToScene), sceneToLoad); - NumberOfPlayers = numberOfPlayers; + NumberOfPlayers = numberOfPlayers; - var gameManager = GameManager.Instantiate(); - AddChild(gameManager); - var gameManagerInstance = (GameManager)gameManager; + var gameManager = GameManager.Instantiate(); + AddChild(gameManager); + var gameManagerInstance = (GameManager)gameManager; - var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); - bgmPlayer.ProcessMode = ProcessModeEnum.Always; - bgmPlayer.SetBGMFromFilepath("Audio/BGM/An-Imitation-of-Heaven.ogg"); - bgmPlayer.PlayBGM(); + var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); + bgmPlayer.ProcessMode = ProcessModeEnum.Always; + bgmPlayer.SetBGMFromFilepath("Audio/BGM/An-Imitation-of-Heaven.ogg"); + bgmPlayer.PlayBGM(); - var animationNode = GetNode("SceneTransition/AnimationPlayer"); - animationNode.Play($"Level{indexToLoad + 1}"); - animationNode.AnimationFinished += EnableCharacterSelect; + var animationNode = GetNode("SceneTransition/AnimationPlayer"); + animationNode.Play($"Level{indexToLoad + 1}"); + animationNode.AnimationFinished += EnableCharacterSelect; } public void LoadNextLevel(int currentSceneIndex) { - if (currentSceneIndex < Levels.Count()) - { - var currentScene = Levels.ToList().ElementAt(currentSceneIndex); - CallDeferred(nameof(DeferredGoToScene), Levels.ElementAt(currentSceneIndex)); - var animationNode = GetNode("SceneTransition/AnimationPlayer"); - animationNode.Play($"Level{currentSceneIndex + 1}"); - animationNode.AnimationFinished += EnableCharacterSelect; - } + if (currentSceneIndex < Levels.Count()) + { + var currentScene = Levels.ToList().ElementAt(currentSceneIndex); + CallDeferred(nameof(DeferredGoToScene), Levels.ElementAt(currentSceneIndex)); + var animationNode = GetNode("SceneTransition/AnimationPlayer"); + animationNode.Play($"Level{currentSceneIndex + 1}"); + animationNode.AnimationFinished += EnableCharacterSelect; + } } private void DeferredGoToScene(PackedScene sceneToAdd) { - if (GetTree().GetFirstNodeInGroup("Level") != null) - GetTree().GetFirstNodeInGroup("Level").QueueFree(); - var nextScene = GD.Load(sceneToAdd.ResourcePath); - var newScene = nextScene.Instantiate(); - GetTree().Root.AddChild(newScene); + if (GetTree().GetFirstNodeInGroup("Level") != null) + GetTree().GetFirstNodeInGroup("Level").QueueFree(); + var nextScene = GD.Load(sceneToAdd.ResourcePath); + var newScene = nextScene.Instantiate(); + GetTree().Root.AddChild(newScene); } private void EnableCharacterSelect(StringName animationName) { - GD.Print("On animation finished: Enable characters"); - var gameManagerInstance = GetNode("GameManager"); - foreach (var player in gameManagerInstance.Players) - gameManagerInstance.OnHandleCharacterSelectUI(player); - GetTree().Paused = true; - var animationNode = GetNode("SceneTransition/AnimationPlayer"); - animationNode.AnimationFinished -= EnableCharacterSelect; + GD.Print("On animation finished: Enable characters"); + var gameManagerInstance = GetNode("GameManager"); + foreach (var player in gameManagerInstance.Players) + gameManagerInstance.OnHandleCharacterSelectUI(player); + GetTree().Paused = true; + var animationNode = GetNode("SceneTransition/AnimationPlayer"); + animationNode.AnimationFinished -= EnableCharacterSelect; } } diff --git a/Levels/Scenes/Level10.tscn b/Levels/Scenes/Level10.tscn index c842ef8..6ccfe42 100644 --- a/Levels/Scenes/Level10.tscn +++ b/Levels/Scenes/Level10.tscn @@ -1581,115 +1581,120 @@ font_size = 48 process_mode = 3 script = ExtResource("1_sy7dk") +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(-0.866025, -0.460996, 0.193605, 0, 0.38721, 0.921992, -0.5, 0.798468, -0.335334, -1.92253e-07, 8.79646, 3.32992e-07) +light_energy = 2.15 +shadow_enabled = true + [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_irs6p") [node name="FINAL STAGE" type="Node3D" parent="."] [node name="Plane2" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(1.05, 0, 0, 0, 1.05, 0, 0, 0, 1.05, 0, -0.157619, 0) +transform = Transform3D(1.05, 0, 0, 0, 1.05, 0, 0, 0, 1.05, 0, -0.294859, 0) mesh = SubResource("ArrayMesh_1cd5a") [node name="MeshInstance3D" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(1.05, 0, 0, 0, 1.05, 0, 0, 0, 1.05, -0.490494, -0.153552, 0.221301) +transform = Transform3D(1.05, 0, 0, 0, 1.05, 0, 0, 0, 1.05, -0.490494, -0.290792, 0.221301) mesh = SubResource("PlaneMesh_4a7et") [node name="Plane_001" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(1.76127, 0, 0, 0, 1.31527, 0, 0, 0, 1.32888, -9.8024, 0.0936406, 1.09295) -transparency = 0.87 +transform = Transform3D(1.426, 0, 0, 0, 1.065, 0, 0, 0, 1.076, -9.8024, 0.0936406, 1.09295) +transparency = 0.95 lod_bias = 0.001 mesh = SubResource("ArrayMesh_jj1lx") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_uuft2") [node name="Plane_002" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(1.70598, 0, 0, 0, 1.32727, 0, 0, 0, 1.12196, 5.21738, -0.170723, 8.07196) -transparency = 0.9 +transform = Transform3D(1.331, 0, 0, 0, 1.035, 0, 0, 0, 0.875, 5.21738, -0.170723, 8.07196) +transparency = 0.94 mesh = SubResource("ArrayMesh_6sa8k") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_sxvv8") [node name="Plane_003" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(1.4161, 0, 0, 0, 1.1281, 0, 0, 0, 1.13659, 6.57477, 0.080187, 3.00044) -transparency = 0.92 +transform = Transform3D(0.976, 0, 0, 0, 0.777, 0, 0, 0, 0.784, 6.57477, 0.080187, 3.00044) +transparency = 0.96 mesh = SubResource("ArrayMesh_if341") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_hi8rh") [node name="Plane_006" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(0.782305, 0, 0, 0, 0.782305, 0, 0, 0, 0.782305, 7.25218, 0.0936406, -2.70961) -transparency = 0.88 +transform = Transform3D(0.737, 0, 0, 0, 0.737, 0, 0, 0, 0.737, 7.25218, 0.0936406, -2.70961) +transparency = 0.93 mesh = SubResource("ArrayMesh_5pdhi") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_at5gw") [node name="Plane_007" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(-0.00267086, 0, -0.493997, 0, 0.74, 0, 0.733995, 0, -0.00179756, 2.07265, 0.0936406, -10.5126) -transparency = 0.84 +transform = Transform3D(-0.00341681, 0, -0.631996, 0, 0.946, 0, 0.938994, 0, -0.00229971, 2.07265, 0.0936406, -10.5126) +transparency = 0.95 mesh = SubResource("ArrayMesh_e3acl") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_ipjtq") [node name="Plane_008" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(-0.00729558, 0, -1.6545, 0, 2.00609, 0, 2.00494, 0, -0.0060204, 5.70975, 0.0936406, -8.83716) -transparency = 0.93 +transform = Transform3D(-0.00509429, 0, -1.15599, 0, 1.401, 0, 1.39999, 0, -0.00420643, 5.70975, 0.0936406, -8.83716) +transparency = 0.98 mesh = SubResource("ArrayMesh_7xb3t") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_x5h2p") [node name="Plane_009" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(-0.00414093, 0, -0.599996, 0, 1.149, 0, 1.13799, 0, -0.00218327, -1.12123, 0.0936406, -8.84041) -transparency = 0.94 +transform = Transform3D(-0.00459578, 0, -0.665996, 0, 1.276, 0, 1.26299, 0, -0.00242343, -1.12223, 0.0936406, -8.56601) +transparency = 0.97 mesh = SubResource("ArrayMesh_hffpl") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_nwkjv") [node name="Plane_010" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(0.996694, 0, -1.16924, 0, 1.5364, 0, 1.16924, 0, 0.996694, -10.1032, 0.0936406, -6.11157) -transparency = 0.88 +transform = Transform3D(0.831011, 0, -0.974875, 0, 1.281, 0, 0.974875, 0, 0.831011, -10.1032, 0.0936406, -6.11157) +transparency = 0.97 mesh = SubResource("ArrayMesh_q55ea") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_iucbo") [node name="Plane_011" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(0.839756, 0, -1.64877, 0, 1.61483, 0, 0.985134, 0, 1.40546, -5.09668, 0.0936406, -10.7682) -transparency = 0.93 +transform = Transform3D(0.648072, 0, -1.2732, 0, 1.247, 0, 0.760266, 0, 1.08531, -5.09668, 0.0936406, -10.7682) +transparency = 0.96 mesh = SubResource("ArrayMesh_jepii") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_satv7") [node name="Plane_012" type="MeshInstance3D" parent="FINAL STAGE"] transform = Transform3D(0.325048, 0, -0.381319, 0, 0.501059, 0, 0.381319, 0, 0.325048, -8.94753, 0.0936406, -9.6698) -transparency = 0.88 +transparency = 0.95 mesh = SubResource("ArrayMesh_m64ug") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_e4460") [node name="Plane_013" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(-0.80569, 0, 0.822408, 0, 1.1513, 0, -0.822408, 0, -0.80569, 6.57162, 0.550828, 8.08738) -transparency = 0.83 +transform = Transform3D(-0.700509, 0, 0.715045, 0, 1.001, 0, -0.715045, 0, -0.700509, 6.57162, 0.550828, 8.08738) +transparency = 0.94 mesh = SubResource("ArrayMesh_o5ifk") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_e5602") [node name="Plane_014" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(0.847765, 0, 0.00547652, 0, 1.07735, 0, -0.0055289, 0, 0.839733, -2.15445, 0.108412, -7.12627) -transparency = 0.92 +transform = Transform3D(0.782983, 0, 0.00506076, 0, 0.994, 0, -0.00510642, 0, 0.775984, -2.15445, 0.108412, -7.12627) +transparency = 0.95 mesh = SubResource("ArrayMesh_uaau6") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_ifinj") [node name="Plane_015" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(-0.500363, 0, 0.510746, 0, 0.715, 0, -0.510746, 0, -0.500363, 7.96881, 0.0936406, 5.10934) -transparency = 0.92 +transform = Transform3D(-0.594837, 0, 0.607181, 0, 0.85, 0, -0.607181, 0, -0.594837, 7.96881, 0.0936406, 5.10934) +transparency = 0.96 mesh = SubResource("ArrayMesh_72amh") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_8emtn") [node name="Plane_016" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(0.252723, 0, 0.545494, 0, 0.81, 0, -0.745319, 0, 0.184966, -2.31715, 0.0936406, 9.9053) +transform = Transform3D(0.426113, 0, 0.919471, 0, 1.36642, 0, -1.25667, 0, 0.311774, -2.31715, 0.0936406, 9.9053) material_override = SubResource("StandardMaterial3D_malkk") -transparency = 0.9 +transparency = 0.98 mesh = SubResource("ArrayMesh_u3atd") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_62ota") @@ -1697,7 +1702,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_62ota") [node name="Plane_017" type="MeshInstance3D" parent="FINAL STAGE"] transform = Transform3D(0.548434, 0, 0.836587, 0, 1.18259, 0, -1.61742, 0, 0.28367, -8.88136, 0.0936406, 7.99206) material_override = SubResource("StandardMaterial3D_3klqc") -transparency = 0.88 +transparency = 0.96 cast_shadow = 0 mesh = SubResource("ArrayMesh_03cjj") skeleton = NodePath("") @@ -1706,43 +1711,43 @@ surface_material_override/0 = SubResource("StandardMaterial3D_6xsl2") [node name="Plane_018" type="MeshInstance3D" parent="FINAL STAGE"] transform = Transform3D(0.229544, 0, 0.676962, 0, 0.71482, 0, -0.676962, 0, 0.229544, -6.35837, 0.0936406, 7.19496) material_override = SubResource("StandardMaterial3D_0cgf3") -transparency = 0.71 +transparency = 0.89 mesh = SubResource("ArrayMesh_2jxy6") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_55sfs") [node name="Plane_019" type="MeshInstance3D" parent="FINAL STAGE"] transform = Transform3D(0.609319, 0, 0, 0, 1.00247, 0, 0, 0, 1.00301, 7.71373, -0.0781053, -4.8116) -transparency = 0.9 +transparency = 0.96 mesh = SubResource("ArrayMesh_xqoh3") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_vduif") [node name="Plane_020" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(0.709, 0, 0, 0, 0.709, 0, 0, 0, 0.709, -9.65187, 0.0223779, 4.51508) +transform = Transform3D(0.854489, 0, 0, 0, 0.854489, 0, 0, 0, 0.854489, -9.65187, 0.0223779, 4.51508) material_override = SubResource("StandardMaterial3D_opsem") -transparency = 0.78 +transparency = 0.93 cast_shadow = 0 mesh = SubResource("ArrayMesh_u43pa") skeleton = NodePath("") [node name="Plane_021" type="MeshInstance3D" parent="FINAL STAGE"] -transform = Transform3D(1.446, 0, 0, 0, 0.878, 0, 0, 0, 0.898, -11.9204, 0.152895, -1.42975) -transparency = 0.87 +transform = Transform3D(1.64617, 0, 0, 0, 1, 0, 0, 0, 1.02218, -11.9204, 0.152895, -1.42975) +transparency = 0.94 mesh = SubResource("ArrayMesh_d75vr") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_qjd1n") [node name="Plane_022" type="MeshInstance3D" parent="FINAL STAGE"] transform = Transform3D(1.13978, 0, 0, 0, 1.13978, 0, 0, 0, 1.13978, -7.62331, 0.184806, -3.66903) -transparency = 0.89 +transparency = 0.91 mesh = SubResource("ArrayMesh_og6cu") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_6og7m") [node name="Plane_023" type="MeshInstance3D" parent="FINAL STAGE"] transform = Transform3D(0.408435, -0.0138221, 1.8297, 0.0145542, 1.98837, 0.0043401, -1.02222, 0.0227874, 0.731131, 2.36517, 0.234488, -8.05808) -transparency = 0.87 +transparency = 0.91 mesh = SubResource("ArrayMesh_ammp5") skeleton = NodePath("") surface_material_override/0 = SubResource("StandardMaterial3D_hrk61") @@ -1829,7 +1834,7 @@ max_polyphony = 15 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.260435, 0, -1.52945) script = ExtResource("8_7itwt") -[node name="Pyramid" type="RigidBody3D" parent="BossOrbs" node_paths=PackedStringArray("_hp", "_animationPlayer")] +[node name="Pyramid" type="RigidBody3D" parent="BossOrbs" node_paths=PackedStringArray("_hp")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.064761, 0.75105, -2.67492) collision_layer = 128 collision_mask = 196 @@ -1842,7 +1847,6 @@ freeze_mode = 1 script = ExtResource("34_ditjx") _hp = NodePath("HP Component") _attack = ExtResource("34_isrj4") -_animationPlayer = NodePath("AnimationPlayer") [node name="PyramidSprite" type="Sprite3D" parent="BossOrbs/Pyramid"] transform = Transform3D(0.08, 0, 0, 0, 0.08, 0, 0, 0, 0.08, 0, 0, 0) @@ -1865,7 +1869,7 @@ libraries = { wait_time = 15.0 autostart = true -[node name="Orb" type="RigidBody3D" parent="BossOrbs" node_paths=PackedStringArray("_hp", "_animationPlayer")] +[node name="Orb" type="RigidBody3D" parent="BossOrbs" node_paths=PackedStringArray("_hp")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.75045, 0.241416, 1.28096) collision_layer = 0 collision_mask = 68 @@ -1878,7 +1882,6 @@ freeze_mode = 1 script = ExtResource("34_ditjx") _hp = NodePath("HP Component") _attack = ExtResource("37_jd5dy") -_animationPlayer = NodePath("AnimationPlayer") [node name="CollisionShape3D" type="CollisionShape3D" parent="BossOrbs/Orb"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.473554, 0, 0.565499) @@ -1901,7 +1904,7 @@ libraries = { wait_time = 13.0 autostart = true -[node name="Hedron" type="RigidBody3D" parent="BossOrbs" node_paths=PackedStringArray("_hp", "_animationPlayer")] +[node name="Hedron" type="RigidBody3D" parent="BossOrbs" node_paths=PackedStringArray("_hp")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.88775, 0.704458, 1.45723) collision_layer = 0 collision_mask = 68 @@ -1914,7 +1917,6 @@ freeze_mode = 1 script = ExtResource("34_ditjx") _hp = NodePath("HP Component") _attack = ExtResource("40_sb1e4") -_animationPlayer = NodePath("AnimationPlayer") [node name="HedronSprite" type="Sprite3D" parent="BossOrbs/Hedron"] transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) diff --git a/Levels/Scenes/Level2.tscn b/Levels/Scenes/Level2.tscn index e82fe3d..1325170 100644 --- a/Levels/Scenes/Level2.tscn +++ b/Levels/Scenes/Level2.tscn @@ -311,7 +311,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.39414, 0, 0) shape = SubResource("BoxShape3D_krx21") [node name="CollisionShape3D3" type="CollisionShape3D" parent="Collisions"] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 2.43488, -8.5122) +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.26573e-07, 2.47963, -11.4078) shape = SubResource("BoxShape3D_xkc5v") [node name="CollisionShape3D4" type="CollisionShape3D" parent="Collisions"] diff --git a/Levels/Scripts/Level.cs b/Levels/Scripts/Level.cs index 9afce9d..8cf38ce 100644 --- a/Levels/Scripts/Level.cs +++ b/Levels/Scripts/Level.cs @@ -9,23 +9,23 @@ public partial class Level : Node3D public override void _EnterTree() { - _gameManager = GetTree().Root.GetNode("Main/GameManager"); - _enemies = GetNode("Enemies").GetChildren().OfType().ToList(); + _gameManager = GetTree().Root.GetNode("Main/GameManager"); + _enemies = GetNode("Enemies").GetChildren().OfType().ToList(); } public void OnEnemyDefeated(BasicEnemy enemy) { - if (_enemies.Contains(enemy)) - { - GD.Print("On enemy defeated " + enemy.Name); - _enemies.Remove(enemy); - if (!_enemies.Any()) - _gameManager.OnAllEnemiesDefeated(); - } + if (_enemies.Contains(enemy)) + { + GD.Print("On enemy defeated " + enemy.Name); + _enemies.Remove(enemy); + if (!_enemies.Any()) + _gameManager.OnAllEnemiesDefeated(); + } } public void GameEnding() { - QueueFree(); + QueueFree(); } } diff --git a/Levels/Scripts/OrbAttack.cs b/Levels/Scripts/OrbAttack.cs index 331f8c3..aff7dd1 100644 --- a/Levels/Scripts/OrbAttack.cs +++ b/Levels/Scripts/OrbAttack.cs @@ -8,21 +8,21 @@ public partial class OrbAttack : Projectile public override void _PhysicsProcess(double delta) { - var pathFollow = GetNode("PathFollow3D"); - if (pathFollow.ProgressRatio <= 0.98f) - { - pathFollow.Progress += Speed * (float)delta; - } - else - { - ExplodeAttack(); - } + var pathFollow = GetNode("PathFollow3D"); + if (pathFollow.ProgressRatio <= 0.98f) + { + pathFollow.Progress += Speed * (float)delta; + } + else + { + ExplodeAttack(); + } } public override void _Process(double delta) { - if (!IsQueuedForDeletion()) - _sprite.RotateY(25); + if (!IsQueuedForDeletion()) + _sprite.RotateY(25); } private void ExplodeAttack() diff --git a/Player/Base/Player.cs b/Player/Base/Player.cs index af844a9..160f4fe 100644 --- a/Player/Base/Player.cs +++ b/Player/Base/Player.cs @@ -29,9 +29,9 @@ public partial class Player : Node3D public override void _Ready() { - foreach (var character in PlayableCharacterScenes) - { - CharactersLeftOnStage.Add(character); - } + foreach (var character in PlayableCharacterScenes) + { + CharactersLeftOnStage.Add(character); + } } } diff --git a/Player/Base/Projectile.cs b/Player/Base/Projectile.cs index ca0989f..b771c6a 100644 --- a/Player/Base/Projectile.cs +++ b/Player/Base/Projectile.cs @@ -1,4 +1,4 @@ -using Godot; +using Godot; public partial class Projectile : Node3D { @@ -18,44 +18,44 @@ public partial class Projectile : Node3D public override void _EnterTree() { - Speed = _projectileSpeed; + Speed = _projectileSpeed; } public override void _PhysicsProcess(double delta) { - var pathFollow = GetNode("PathFollow3D"); - pathFollow.Progress += Speed * (float)delta; - if (pathFollow.ProgressRatio > 0.98f) - Delete(); + var pathFollow = GetNode("PathFollow3D"); + pathFollow.Progress += Speed * (float)delta; + if (pathFollow.ProgressRatio > 0.98f) + Delete(); } public void OnProjectileHit(Node node) { - if (node is BasicEnemy basicEnemy) - basicEnemy.Call(BasicEnemy.MethodName.OnEnemyHit, node); - Delete(); + if (node is BasicEnemy basicEnemy) + basicEnemy.Call(BasicEnemy.MethodName.OnEnemyHit, node); + Delete(); } public void OnPlayerHit(Node node) { - SetPhysicsProcess(false); + SetPhysicsProcess(false); - if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) - { - GD.Print("Player hit: " + character.Name); - character.Call(Character.MethodName.OnHit, this); - } + if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) + { + GD.Print("Player hit: " + character.Name); + character.Call(Character.MethodName.OnHit, this); + } - QueueFree(); + QueueFree(); } public void Delete() { - if (!isDeleted) - { - isDeleted = true; - QueueFree(); - } + if (!isDeleted) + { + isDeleted = true; + QueueFree(); + } } public float Speed { get; private set; } diff --git a/UI/MainMenu.cs b/UI/MainMenu.cs index ee83472..35c066f 100644 --- a/UI/MainMenu.cs +++ b/UI/MainMenu.cs @@ -12,48 +12,48 @@ public partial class MainMenu : Node2D public override void _Ready() { - GetParent().GetNode("MainMenu/UIAnimations/LoreSplash").Show(); - _animationPlayer = GetTree().Root.GetNode("/root/Main/MainMenu/UIAnimations/AnimationPlayer"); - _animationPlayer.Play("IntroLore"); - var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); - bgmPlayer.SetBGMFromFilepath("Audio/BGM/TitleTheme.ogg"); - bgmPlayer.PlayBGM(); - _player1Input = new Player1Input(); - _player2Input = new Player2Input(); - _animationPlayer.AnimationFinished += OnIntroAnimationFinished; + GetParent().GetNode("MainMenu/UIAnimations/LoreSplash").Show(); + _animationPlayer = GetTree().Root.GetNode("/root/Main/MainMenu/UIAnimations/AnimationPlayer"); + _animationPlayer.Play("IntroLore"); + var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); + bgmPlayer.SetBGMFromFilepath("Audio/BGM/TitleTheme.ogg"); + bgmPlayer.PlayBGM(); + _player1Input = new Player1Input(); + _player2Input = new Player2Input(); + _animationPlayer.AnimationFinished += OnIntroAnimationFinished; } public override void _UnhandledInput(InputEvent @event) { - if (_animationPlayer.IsPlaying() && (Input.IsActionJustReleased(_player1Input.Fire()) || Input.IsActionJustReleased(_player2Input.Fire()))) - { - _animationPlayer.Seek(10); - GetNode("NewGame/1Player").GrabFocus(); - } + if (_animationPlayer.IsPlaying() && (Input.IsActionJustReleased(_player1Input.Fire()) || Input.IsActionJustReleased(_player2Input.Fire()))) + { + _animationPlayer.Seek(10); + GetNode("NewGame/1Player").GrabFocus(); + } } public void OnIntroAnimationFinished(StringName animationName) { - GetNode("NewGame/1Player").GrabFocus(); + GetNode("NewGame/1Player").GrabFocus(); } private void OneSinglePlayerPressed() { - Hide(); - var main = GetTree().Root.GetNode
("/root/Main"); - main.LoadLevel(0, 1); + Hide(); + var main = GetTree().Root.GetNode
("/root/Main"); + main.LoadLevel(0, 1); } private void OnTwoPlayerPressed() { - Hide(); - var main = GetTree().Root.GetNode
("/root/Main"); - main.LoadLevel(0, 2); + Hide(); + var main = GetTree().Root.GetNode
("/root/Main"); + main.LoadLevel(0, 2); } private void OnQuitButtonPressed() { - GetTree().Quit(); + GetTree().Quit(); } } diff --git a/UI/SceneTransition.tscn b/UI/SceneTransition.tscn index fb3cb04..5abb5f1 100644 --- a/UI/SceneTransition.tscn +++ b/UI/SceneTransition.tscn @@ -29,7 +29,7 @@ [sub_resource type="Animation" id="Animation_exerv"] resource_name = "Level1" -length = 7.0 +length = 3.8 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -37,7 +37,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -49,7 +49,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -61,7 +61,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -85,7 +85,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -145,7 +145,7 @@ tracks/9/path = NodePath("CenterContainer/Scene1/AstralChainGehenna:visible") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -157,7 +157,7 @@ tracks/10/path = NodePath("CenterContainer/Scene1/Link001_1:visible") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -165,7 +165,7 @@ tracks/10/keys = { [sub_resource type="Animation" id="Animation_27l6u"] resource_name = "Level10" -length = 7.0 +length = 3.6 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -173,7 +173,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -185,7 +185,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -197,7 +197,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -221,7 +221,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -257,7 +257,7 @@ tracks/7/path = NodePath("CenterContainer/Scene10/TheGodCircuit:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -269,7 +269,7 @@ tracks/8/path = NodePath("CenterContainer/Scene10/TowerOfGeddon:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -277,7 +277,7 @@ tracks/8/keys = { [sub_resource type="Animation" id="Animation_re236"] resource_name = "Level2" -length = 7.0 +length = 3.6 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -285,7 +285,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -297,7 +297,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -309,7 +309,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -333,7 +333,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -369,7 +369,7 @@ tracks/7/path = NodePath("CenterContainer/Scene2/AstralChainDa\'at:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -381,7 +381,7 @@ tracks/8/path = NodePath("CenterContainer/Scene2/Link002_2y:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -389,7 +389,7 @@ tracks/8/keys = { [sub_resource type="Animation" id="Animation_l2c80"] resource_name = "Level3" -length = 7.0 +length = 3.6 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -397,7 +397,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -409,7 +409,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -421,7 +421,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -445,7 +445,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -481,7 +481,7 @@ tracks/7/path = NodePath("CenterContainer/Scene3/AstralChainGallu:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -493,7 +493,7 @@ tracks/8/path = NodePath("CenterContainer/Scene3/Link003_33:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -501,7 +501,7 @@ tracks/8/keys = { [sub_resource type="Animation" id="Animation_o54ud"] resource_name = "Level4" -length = 7.0 +length = 3.6 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -509,7 +509,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -521,7 +521,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -533,7 +533,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -557,7 +557,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -593,7 +593,7 @@ tracks/7/path = NodePath("CenterContainer/Scene4/AstralChainNaraku:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -605,7 +605,7 @@ tracks/8/path = NodePath("CenterContainer/Scene4/Link00404:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -613,7 +613,7 @@ tracks/8/keys = { [sub_resource type="Animation" id="Animation_3237l"] resource_name = "Level5" -length = 7.0 +length = 3.6 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -621,7 +621,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -633,7 +633,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -645,7 +645,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -669,7 +669,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -705,7 +705,7 @@ tracks/7/path = NodePath("CenterContainer/Scene5/AstralChainMictlān:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -717,7 +717,7 @@ tracks/8/path = NodePath("CenterContainer/Scene5/Link005_5a:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -725,7 +725,7 @@ tracks/8/keys = { [sub_resource type="Animation" id="Animation_6rk0m"] resource_name = "Level6" -length = 7.0 +length = 3.6 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -733,7 +733,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -745,7 +745,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -757,7 +757,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -781,7 +781,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -817,7 +817,7 @@ tracks/7/path = NodePath("CenterContainer/Scene6/AstralChainXibalba:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -829,7 +829,7 @@ tracks/8/path = NodePath("CenterContainer/Scene6/Link006_666:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -837,7 +837,7 @@ tracks/8/keys = { [sub_resource type="Animation" id="Animation_urb4e"] resource_name = "Level7" -length = 7.0 +length = 3.6 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -845,7 +845,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -857,7 +857,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -869,7 +869,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -893,7 +893,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -929,7 +929,7 @@ tracks/7/path = NodePath("CenterContainer/Scene7/AstralChainMetnal:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -941,7 +941,7 @@ tracks/8/path = NodePath("CenterContainer/Scene7/Link007_7:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -949,7 +949,7 @@ tracks/8/keys = { [sub_resource type="Animation" id="Animation_81npe"] resource_name = "Level8" -length = 7.0 +length = 3.6 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -957,7 +957,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -969,7 +969,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -981,7 +981,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -1005,7 +1005,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -1041,7 +1041,7 @@ tracks/7/path = NodePath("CenterContainer/Scene8/AstralChainAsphodel:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -1053,7 +1053,7 @@ tracks/8/path = NodePath("CenterContainer/Scene8/Link008_08_8:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -1061,7 +1061,7 @@ tracks/8/keys = { [sub_resource type="Animation" id="Animation_osfo3"] resource_name = "Level9" -length = 7.0 +length = 3.6 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -1069,7 +1069,7 @@ tracks/0/path = NodePath("CenterContainer/Screenshot2023-09-02At11_51_34:rotatio tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -1081,7 +1081,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -1093,7 +1093,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 3.14159] @@ -1117,7 +1117,7 @@ tracks/4/path = NodePath(".:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -1153,7 +1153,7 @@ tracks/7/path = NodePath("CenterContainer/Scene9/AstralChainDuat:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -1165,7 +1165,7 @@ tracks/8/path = NodePath("CenterContainer/Scene9/Link00999:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 7), +"times": PackedFloat32Array(0, 3.6), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] diff --git a/UI/StageGUI.cs b/UI/StageGUI.cs index 4d7aaaf..ea072bb 100644 --- a/UI/StageGUI.cs +++ b/UI/StageGUI.cs @@ -26,76 +26,76 @@ public partial class StageGUI : Control public override void _Ready() { - _gameManager = GetTree().Root.GetNode("Main/GameManager"); + _gameManager = GetTree().Root.GetNode("Main/GameManager"); } public void OnCharacterSelect(Player player) { - if (player.GameOver) - return; + if (player.GameOver) + return; - player.IsSelectingCharacter = true; - ChangeBG(player); + player.IsSelectingCharacter = true; + ChangeBG(player); } public override void _Input(InputEvent @event) { - var playersSelecting = _gameManager.Players.Where(x => x.IsSelectingCharacter); - foreach (var player in playersSelecting) - { - if (Input.IsActionJustPressed(player.PlayerInput.Right())) - { - _gameManager.SetToNextCharacter(player); - ChangeBG(player); - } - if (Input.IsActionJustPressed(player.PlayerInput.Left())) - { - _gameManager.SetToPreviousCharacter(player); - ChangeBG(player); - } + var playersSelecting = _gameManager.Players.Where(x => x.IsSelectingCharacter); + foreach (var player in playersSelecting) + { + if (Input.IsActionJustPressed(player.PlayerInput.Right())) + { + _gameManager.SetToNextCharacter(player); + ChangeBG(player); + } + if (Input.IsActionJustPressed(player.PlayerInput.Left())) + { + _gameManager.SetToPreviousCharacter(player); + ChangeBG(player); + } - if (Input.IsActionJustPressed(player.PlayerInput.Fire())) - { - GD.Print("Selected character"); - player.IsSelectingCharacter = false; - EmitSignal(SignalName.OnCharacterSelectionMade, player); - GetTree().Paused = false; - if (_audioStreamPlayer != null) - _audioStreamPlayer.Play(); - } - } + if (Input.IsActionJustPressed(player.PlayerInput.Fire())) + { + GD.Print("Selected character"); + player.IsSelectingCharacter = false; + EmitSignal(SignalName.OnCharacterSelectionMade, player); + GetTree().Paused = false; + if (_audioStreamPlayer != null) + _audioStreamPlayer.Play(); + } + } - foreach (var player in _gameManager.Players) - { - if (player.GameOver) - EmitSignal(SignalName.OnPlayerGameOver, player); - } + foreach (var player in _gameManager.Players) + { + if (player.GameOver) + EmitSignal(SignalName.OnPlayerGameOver, player); + } - if (!_gameManager.IsGameOverScreenOn && _gameManager.Players.All(x => x.GameOver)) - { - EmitSignal(SignalName.OnGameOver, new Array(_gameManager.Players)); - } + if (!_gameManager.IsGameOverScreenOn && _gameManager.Players.All(x => x.GameOver)) + { + EmitSignal(SignalName.OnGameOver, new Array(_gameManager.Players)); + } } private void ChangeBG(Player player) { - var instance = player.CharactersLeftOnStage.ElementAt(player.CharacterIndex).Instantiate(); - var name = instance.Name; - GD.Print(name); - switch (name) - { - case "Capricorn": - EmitSignal(SignalName.CapricornSelected, player); - break; - case "Scorpio": - EmitSignal(SignalName.ScorpioSelected, player); - break; - case "Pisces": - EmitSignal(SignalName.PiscesSelected, player); - break; - case "Sagittarius": - EmitSignal(SignalName.SagittariusSelected, player); - break; - } + var instance = player.CharactersLeftOnStage.ElementAt(player.CharacterIndex).Instantiate(); + var name = instance.Name; + GD.Print(name); + switch (name) + { + case "Capricorn": + EmitSignal(SignalName.CapricornSelected, player); + break; + case "Scorpio": + EmitSignal(SignalName.ScorpioSelected, player); + break; + case "Pisces": + EmitSignal(SignalName.PiscesSelected, player); + break; + case "Sagittarius": + EmitSignal(SignalName.SagittariusSelected, player); + break; + } } } diff --git a/UI/StageGUI.tscn b/UI/StageGUI.tscn index 884ad61..80014d7 100644 --- a/UI/StageGUI.tscn +++ b/UI/StageGUI.tscn @@ -9,7 +9,7 @@ [ext_resource type="Texture2D" uid="uid://o7uu4efxf36e" path="res://Textures/Portraits/scorpio-bg-char.png" id="7_tgrf5"] [ext_resource type="AudioStream" uid="uid://cdps3mfvdxdud" path="res://Audio/SFX/select.wav" id="8_3x5jr"] -[node name="StageGUI" type="Control" node_paths=PackedStringArray("_audioStreamPlayer")] +[node name="StageGUI" type="Control"] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -17,7 +17,6 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_wr2m0") -_audioStreamPlayer = NodePath("AudioStreamPlayer") metadata/_edit_horizontal_guides_ = [-342.0] [node name="SidebarLeft" type="TextureRect" parent="."]