looping music , transition speed up, enemy spped up

This commit is contained in:
GameJammer
2023-09-14 20:47:37 -07:00
parent af3fc06e12
commit 549aa9f7ac
20 changed files with 428 additions and 417 deletions

Binary file not shown.

View File

@@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/An-Imitation-of-Heaven.ogg-12654ddfdf5a8cd77d
[params] [params]
loop=true loop=true
loop_offset=0 loop_offset=0.0
bpm=0 bpm=0.0
beat_count=0 beat_count=0
bar_beats=4 bar_beats=4

Binary file not shown.

View File

@@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/BossTheme.ogg-459b51256339e59464889a466918555
[params] [params]
loop=true loop=true
loop_offset=0 loop_offset=0.0
bpm=0 bpm=0.0
beat_count=0 beat_count=0
bar_beats=4 bar_beats=4

View File

@@ -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="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"] [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"] [sub_resource type="BoxShape3D" id="BoxShape3D_g5fdd"]
size = Vector3(0.553759, 1.22067, 1.58866) 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"] [node name="Path3D" type="Path3D"]
curve = SubResource("Curve3D_n05rs") curve = SubResource("Curve3D_n05rs")
script = ExtResource("1_4uor3") script = ExtResource("1_4uor3")
_projectileSpeed = 5.0 _projectileSpeed = 5.0
[node name="PathFollow3D" type="PathFollow3D" parent="."] [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 progress = 27.0
[node name="RigidBody3D" type="RigidBody3D" parent="PathFollow3D"] [node name="RigidBody3D" type="RigidBody3D" parent="PathFollow3D"]
@@ -39,6 +47,8 @@ shape = SubResource("BoxShape3D_g5fdd")
[node name="Sprite3D" type="Sprite3D" parent="PathFollow3D/RigidBody3D/CollisionShape3D"] [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) 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 axis = 1
texture = ExtResource("1_a70u8") texture = ExtResource("1_a70u8")

View File

@@ -1,4 +1,4 @@
using Godot; using Godot;
public partial class PyramidAttack : Node3D public partial class PyramidAttack : Node3D
{ {
@@ -9,26 +9,26 @@ public partial class PyramidAttack : Node3D
public override void _EnterTree() public override void _EnterTree()
{ {
_animationPlayer.AnimationFinished += Delete; _animationPlayer.AnimationFinished += Delete;
} }
public void OnPlayerHit(Node node) public void OnPlayerHit(Node node)
{ {
SetPhysicsProcess(false); SetPhysicsProcess(false);
if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) if (node is Character character && character.HasMethod(Character.MethodName.OnHit))
{ {
GD.Print("Player hit: " + character.Name); GD.Print("Player hit: " + character.Name);
character.Call(Character.MethodName.OnHit, this); character.Call(Character.MethodName.OnHit, this);
} }
QueueFree(); QueueFree();
isDeleted = true; isDeleted = true;
} }
public void Delete(StringName name) public void Delete(StringName name)
{ {
if (!isDeleted) if (!isDeleted)
QueueFree(); QueueFree();
isDeleted = true; isDeleted = true;
} }
} }

View File

@@ -16,46 +16,46 @@ public partial class GodCircuit : Node3D
private void OnHit(Node3D node) private void OnHit(Node3D node)
{ {
if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) if (node is Character character && character.HasMethod(Character.MethodName.OnHit))
{ {
GD.Print("Player hit: " + character.Name); GD.Print("Player hit: " + character.Name);
character.Call(Character.MethodName.OnHit, node); character.Call(Character.MethodName.OnHit, node);
} }
else else
{ {
var hpComponent = GetNode<HealthPoints>("HP Component"); var hpComponent = GetNode<HealthPoints>("HP Component");
if (hpComponent.CurrentHP > 0) if (hpComponent.CurrentHP > 0)
{ {
GD.Print("Hit"); GD.Print("Hit");
_animationPlayer.Play("OnHit"); _animationPlayer.Play("OnHit");
hpComponent.TakeDamage(1); hpComponent.TakeDamage(1);
EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP); EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP);
if (hpComponent.CurrentHP <= 0) if (hpComponent.CurrentHP <= 0)
{ {
EmitSignal(SignalName.DestroyRemainingOrbs); EmitSignal(SignalName.DestroyRemainingOrbs);
_animationPlayer.Play("OnDeath"); _animationPlayer.Play("OnDeath");
_animationPlayer.AnimationFinished += OnGameFinished; _animationPlayer.AnimationFinished += OnGameFinished;
} }
} }
} }
} }
private void OnBossOrbDestroyed() private void OnBossOrbDestroyed()
{ {
var hpComponent = GetNode<HealthPoints>("HP Component"); var hpComponent = GetNode<HealthPoints>("HP Component");
_animationPlayer.Play("OnHit"); _animationPlayer.Play("OnHit");
hpComponent.TakeDamage(60); hpComponent.TakeDamage(60);
EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP); EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP);
if (hpComponent.CurrentHP <= 0) if (hpComponent.CurrentHP <= 0)
hpComponent.CurrentHP = 1; hpComponent.CurrentHP = 1;
} }
private void OnGameFinished(StringName animationName) private void OnGameFinished(StringName animationName)
{ {
GD.Print("On game ending"); GD.Print("On game ending");
EmitSignal(SignalName.OnGameEnding); EmitSignal(SignalName.OnGameEnding);
QueueFree(); QueueFree();
} }
} }

View File

@@ -4,22 +4,22 @@ using System.Linq;
public partial class MeleeEnemy : BasicEnemy public partial class MeleeEnemy : BasicEnemy
{ {
[Export] [Export]
private float _speed = 0.4f; private float _speed = 0.8f;
private bool _targetingPlayer = false; private bool _targetingPlayer = false;
[Export] [Export]
private double _distanceToPlayer = 3; private double _distanceToPlayer = 4;
public override void _PhysicsProcess(double delta) public override void _PhysicsProcess(double delta)
{ {
var players = GetTree().GetNodesInGroup("Player").Cast<Character>(); var players = GetTree().GetNodesInGroup("Player").Cast<Character>();
if (players.Any()) if (players.Any())
{ {
var target = players.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault(); var target = players.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
if (_targetingPlayer || Position.DistanceTo(target.Position) < _distanceToPlayer) if (_targetingPlayer || Position.DistanceTo(target.Position) < _distanceToPlayer)
{ {
Position = Position.MoveToward(target.Position, _speed * (float)delta); Position = Position.MoveToward(target.Position, _speed * (float)delta);
_targetingPlayer = true; _targetingPlayer = true;
} }
} }
} }
} }

View File

@@ -23,138 +23,138 @@ public partial class GameManager : Node
public override void _Ready() public override void _Ready()
{ {
var main = GetTree().Root.GetNode<Main>("/root/Main"); var main = GetTree().Root.GetNode<Main>("/root/Main");
for (var i = 0; i < main.NumberOfPlayers; i++) for (var i = 0; i < main.NumberOfPlayers; i++)
{ {
var player = PlayerScenes[i].Instantiate(); var player = PlayerScenes[i].Instantiate();
var castedPlayer = (Player)player; var castedPlayer = (Player)player;
castedPlayer.PlayerNumber = i + 1; castedPlayer.PlayerNumber = i + 1;
Players = Players.Append(castedPlayer); Players = Players.Append(castedPlayer);
GetTree().Root.AddChild(player); GetTree().Root.AddChild(player);
} }
} }
public void OnAllEnemiesDefeated() public void OnAllEnemiesDefeated()
{ {
OnLevelClear(); OnLevelClear();
} }
public void OnHandleCharacterSelectUI(Player player) public void OnHandleCharacterSelectUI(Player player)
{ {
EmitSignal(SignalName.ReselectCharacter, player); EmitSignal(SignalName.ReselectCharacter, player);
} }
public void SetToNextCharacter(Player player) public void SetToNextCharacter(Player player)
{ {
player.CharacterIndex = (++player.CharacterIndex) % player.CharactersLeftOnStage.Count(); player.CharacterIndex = (++player.CharacterIndex) % player.CharactersLeftOnStage.Count();
GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex)); GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex));
} }
public void SetToPreviousCharacter(Player player) 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) public void ResetPlayerPosition(Player player)
{ {
player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter); player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter);
GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex)); GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex));
} }
public void OnCharacterSelected(Player player) public void OnCharacterSelected(Player player)
{ {
var sfxPlayer = GetTree().Root.GetNode<AudioStreamPlayer>("Main/SFXPlayer"); var sfxPlayer = GetTree().Root.GetNode<AudioStreamPlayer>("Main/SFXPlayer");
var audioStream = ResourceLoader.Load<AudioStream>("Audio/SFX/Select.wav"); var audioStream = ResourceLoader.Load<AudioStream>("Audio/SFX/Select.wav");
sfxPlayer.Stream = audioStream; sfxPlayer.Stream = audioStream;
sfxPlayer.Play(); sfxPlayer.Play();
if (player.CharactersLeftOnStage.Any()) if (player.CharactersLeftOnStage.Any())
{ {
var character = player.CharactersLeftOnStage[player.CharacterIndex]; var character = player.CharactersLeftOnStage[player.CharacterIndex];
var instance = (Character)character.Instantiate(); var instance = (Character)character.Instantiate();
instance.Initialize(player); instance.Initialize(player);
player.SelectedCharacter = instance; player.SelectedCharacter = instance;
player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter); player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter);
GetTree().Root.AddChild(player.SelectedCharacter); GetTree().Root.AddChild(player.SelectedCharacter);
} }
} }
public void RemoveCharacter(Player player) public void RemoveCharacter(Player player)
{ {
ResetPlayerPosition(player); ResetPlayerPosition(player);
player.CharactersLeftOnStage.RemoveAt(player.CharacterIndex); player.CharactersLeftOnStage.RemoveAt(player.CharacterIndex);
if (player.SelectedCharacter is not null) if (player.SelectedCharacter is not null)
GetTree().Root.RemoveChild(player.SelectedCharacter); GetTree().Root.RemoveChild(player.SelectedCharacter);
player.CharacterIndex = 0; player.CharacterIndex = 0;
if (player.CharactersLeftOnStage.Any()) if (player.CharactersLeftOnStage.Any())
EmitSignal(SignalName.ReselectCharacter, player); EmitSignal(SignalName.ReselectCharacter, player);
if (!player.CharactersExited.Any() && !player.CharactersLeftOnStage.Any()) if (!player.CharactersExited.Any() && !player.CharactersLeftOnStage.Any())
SetGameOver(player, true); SetGameOver(player, true);
if (Players.All(x => !x.CharactersLeftOnStage.Any()) && Players.Any(x => x.CharactersExited.Any())) if (Players.All(x => !x.CharactersLeftOnStage.Any()) && Players.Any(x => x.CharactersExited.Any()))
OnLevelClear(); OnLevelClear();
} }
public void RemoveCharacterAndAddToExit(Player player) public void RemoveCharacterAndAddToExit(Player player)
{ {
ResetPlayerPosition(player); ResetPlayerPosition(player);
player.CharactersExited.Add(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex)); player.CharactersExited.Add(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex));
RemoveCharacter(player); RemoveCharacter(player);
} }
public void SetGameOver(Player player, bool isGameOver) public void SetGameOver(Player player, bool isGameOver)
{ {
player.GameOver = isGameOver; player.GameOver = isGameOver;
if (isGameOver) if (isGameOver)
EmitSignal(SignalName.OnPlayerGameOver, player); EmitSignal(SignalName.OnPlayerGameOver, player);
GD.Print($"Game over for {player.Name}"); GD.Print($"Game over for {player.Name}");
} }
public void ReloadGameScene() public void ReloadGameScene()
{ {
GD.Print("Reloading scene"); GD.Print("Reloading scene");
var players = GetTree().Root.GetChildren().OfType<Player>(); var players = GetTree().Root.GetChildren().OfType<Player>();
foreach (var player in players) foreach (var player in players)
player.QueueFree(); player.QueueFree();
var levels = GetTree().Root.GetChildren().OfType<Level>(); var levels = GetTree().Root.GetChildren().OfType<Level>();
foreach (var level in levels) foreach (var level in levels)
level.QueueFree(); level.QueueFree();
GetTree().ReloadCurrentScene(); GetTree().ReloadCurrentScene();
} }
public void OnLevelClear() public void OnLevelClear()
{ {
var enemies = GetTree().GetNodesInGroup("Enemy").Where(x => !x.IsQueuedForDeletion()); var enemies = GetTree().GetNodesInGroup("Enemy").Where(x => !x.IsQueuedForDeletion());
foreach (var enemy in enemies) foreach (var enemy in enemies)
enemy.QueueFree(); enemy.QueueFree();
var playerCharacters = GetTree().GetNodesInGroup("Player"); var playerCharacters = GetTree().GetNodesInGroup("Player");
EmitSignal(SignalName.ClearPlayerBG, 0); EmitSignal(SignalName.ClearPlayerBG, 0);
EmitSignal(SignalName.ClearPlayerBG, 1); EmitSignal(SignalName.ClearPlayerBG, 1);
foreach (var player in Players) foreach (var player in Players)
{ {
player.CharactersLeftOnStage.AddRange(player.CharactersExited); player.CharactersLeftOnStage.AddRange(player.CharactersExited);
player.CharactersExited.Clear(); player.CharactersExited.Clear();
player.CharacterIndex = 0; player.CharacterIndex = 0;
} }
foreach (var character in playerCharacters) foreach (var character in playerCharacters)
character.GetParent().RemoveChild(character); character.GetParent().RemoveChild(character);
var projectiles = GetTree().GetNodesInGroup("Projectile").Where(x => !x.IsQueuedForDeletion()); var projectiles = GetTree().GetNodesInGroup("Projectile").Where(x => !x.IsQueuedForDeletion());
foreach (var projectile in projectiles) foreach (var projectile in projectiles)
projectile.QueueFree(); projectile.QueueFree();
var main = GetTree().Root.GetNode<Main>("/root/Main"); var main = GetTree().Root.GetNode<Main>("/root/Main");
if (_levelIndex < main.Levels.Count) if (_levelIndex < main.Levels.Count)
{ {
_levelIndex++; _levelIndex++;
main.LoadNextLevel(_levelIndex); main.LoadNextLevel(_levelIndex);
} }
} }
} }

View File

@@ -15,64 +15,64 @@ public partial class Main : Node
public override void _Ready() public override void _Ready()
{ {
Input.MouseMode = Input.MouseModeEnum.Captured; Input.MouseMode = Input.MouseModeEnum.Captured;
} }
public override void _Process(double delta) public override void _Process(double delta)
{ {
_fpsCounter.Text = $"FPS: {Engine.GetFramesPerSecond()}"; _fpsCounter.Text = $"FPS: {Engine.GetFramesPerSecond()}";
} }
public void LoadLevel(int indexToLoad, int numberOfPlayers) public void LoadLevel(int indexToLoad, int numberOfPlayers)
{ {
var sceneToLoad = Levels.ElementAt(indexToLoad); var sceneToLoad = Levels.ElementAt(indexToLoad);
CallDeferred(nameof(DeferredGoToScene), sceneToLoad); CallDeferred(nameof(DeferredGoToScene), sceneToLoad);
NumberOfPlayers = numberOfPlayers; NumberOfPlayers = numberOfPlayers;
var gameManager = GameManager.Instantiate(); var gameManager = GameManager.Instantiate();
AddChild(gameManager); AddChild(gameManager);
var gameManagerInstance = (GameManager)gameManager; var gameManagerInstance = (GameManager)gameManager;
var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer"); var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer");
bgmPlayer.ProcessMode = ProcessModeEnum.Always; bgmPlayer.ProcessMode = ProcessModeEnum.Always;
bgmPlayer.SetBGMFromFilepath("Audio/BGM/An-Imitation-of-Heaven.ogg"); bgmPlayer.SetBGMFromFilepath("Audio/BGM/An-Imitation-of-Heaven.ogg");
bgmPlayer.PlayBGM(); bgmPlayer.PlayBGM();
var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer"); var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer");
animationNode.Play($"Level{indexToLoad + 1}"); animationNode.Play($"Level{indexToLoad + 1}");
animationNode.AnimationFinished += EnableCharacterSelect; animationNode.AnimationFinished += EnableCharacterSelect;
} }
public void LoadNextLevel(int currentSceneIndex) public void LoadNextLevel(int currentSceneIndex)
{ {
if (currentSceneIndex < Levels.Count()) if (currentSceneIndex < Levels.Count())
{ {
var currentScene = Levels.ToList().ElementAt(currentSceneIndex); var currentScene = Levels.ToList().ElementAt(currentSceneIndex);
CallDeferred(nameof(DeferredGoToScene), Levels.ElementAt(currentSceneIndex)); CallDeferred(nameof(DeferredGoToScene), Levels.ElementAt(currentSceneIndex));
var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer"); var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer");
animationNode.Play($"Level{currentSceneIndex + 1}"); animationNode.Play($"Level{currentSceneIndex + 1}");
animationNode.AnimationFinished += EnableCharacterSelect; animationNode.AnimationFinished += EnableCharacterSelect;
} }
} }
private void DeferredGoToScene(PackedScene sceneToAdd) private void DeferredGoToScene(PackedScene sceneToAdd)
{ {
if (GetTree().GetFirstNodeInGroup("Level") != null) if (GetTree().GetFirstNodeInGroup("Level") != null)
GetTree().GetFirstNodeInGroup("Level").QueueFree(); GetTree().GetFirstNodeInGroup("Level").QueueFree();
var nextScene = GD.Load<PackedScene>(sceneToAdd.ResourcePath); var nextScene = GD.Load<PackedScene>(sceneToAdd.ResourcePath);
var newScene = nextScene.Instantiate(); var newScene = nextScene.Instantiate();
GetTree().Root.AddChild(newScene); GetTree().Root.AddChild(newScene);
} }
private void EnableCharacterSelect(StringName animationName) private void EnableCharacterSelect(StringName animationName)
{ {
GD.Print("On animation finished: Enable characters"); GD.Print("On animation finished: Enable characters");
var gameManagerInstance = GetNode<GameManager>("GameManager"); var gameManagerInstance = GetNode<GameManager>("GameManager");
foreach (var player in gameManagerInstance.Players) foreach (var player in gameManagerInstance.Players)
gameManagerInstance.OnHandleCharacterSelectUI(player); gameManagerInstance.OnHandleCharacterSelectUI(player);
GetTree().Paused = true; GetTree().Paused = true;
var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer"); var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer");
animationNode.AnimationFinished -= EnableCharacterSelect; animationNode.AnimationFinished -= EnableCharacterSelect;
} }
} }

View File

@@ -1581,115 +1581,120 @@ font_size = 48
process_mode = 3 process_mode = 3
script = ExtResource("1_sy7dk") 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="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_irs6p") environment = SubResource("Environment_irs6p")
[node name="FINAL STAGE" type="Node3D" parent="."] [node name="FINAL STAGE" type="Node3D" parent="."]
[node name="Plane2" type="MeshInstance3D" parent="FINAL STAGE"] [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") mesh = SubResource("ArrayMesh_1cd5a")
[node name="MeshInstance3D" type="MeshInstance3D" parent="FINAL STAGE"] [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") mesh = SubResource("PlaneMesh_4a7et")
[node name="Plane_001" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(1.426, 0, 0, 0, 1.065, 0, 0, 0, 1.076, -9.8024, 0.0936406, 1.09295)
transparency = 0.87 transparency = 0.95
lod_bias = 0.001 lod_bias = 0.001
mesh = SubResource("ArrayMesh_jj1lx") mesh = SubResource("ArrayMesh_jj1lx")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_uuft2") surface_material_override/0 = SubResource("StandardMaterial3D_uuft2")
[node name="Plane_002" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(1.331, 0, 0, 0, 1.035, 0, 0, 0, 0.875, 5.21738, -0.170723, 8.07196)
transparency = 0.9 transparency = 0.94
mesh = SubResource("ArrayMesh_6sa8k") mesh = SubResource("ArrayMesh_6sa8k")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_sxvv8") surface_material_override/0 = SubResource("StandardMaterial3D_sxvv8")
[node name="Plane_003" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(0.976, 0, 0, 0, 0.777, 0, 0, 0, 0.784, 6.57477, 0.080187, 3.00044)
transparency = 0.92 transparency = 0.96
mesh = SubResource("ArrayMesh_if341") mesh = SubResource("ArrayMesh_if341")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_hi8rh") surface_material_override/0 = SubResource("StandardMaterial3D_hi8rh")
[node name="Plane_006" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(0.737, 0, 0, 0, 0.737, 0, 0, 0, 0.737, 7.25218, 0.0936406, -2.70961)
transparency = 0.88 transparency = 0.93
mesh = SubResource("ArrayMesh_5pdhi") mesh = SubResource("ArrayMesh_5pdhi")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_at5gw") surface_material_override/0 = SubResource("StandardMaterial3D_at5gw")
[node name="Plane_007" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(-0.00341681, 0, -0.631996, 0, 0.946, 0, 0.938994, 0, -0.00229971, 2.07265, 0.0936406, -10.5126)
transparency = 0.84 transparency = 0.95
mesh = SubResource("ArrayMesh_e3acl") mesh = SubResource("ArrayMesh_e3acl")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_ipjtq") surface_material_override/0 = SubResource("StandardMaterial3D_ipjtq")
[node name="Plane_008" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(-0.00509429, 0, -1.15599, 0, 1.401, 0, 1.39999, 0, -0.00420643, 5.70975, 0.0936406, -8.83716)
transparency = 0.93 transparency = 0.98
mesh = SubResource("ArrayMesh_7xb3t") mesh = SubResource("ArrayMesh_7xb3t")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_x5h2p") surface_material_override/0 = SubResource("StandardMaterial3D_x5h2p")
[node name="Plane_009" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(-0.00459578, 0, -0.665996, 0, 1.276, 0, 1.26299, 0, -0.00242343, -1.12223, 0.0936406, -8.56601)
transparency = 0.94 transparency = 0.97
mesh = SubResource("ArrayMesh_hffpl") mesh = SubResource("ArrayMesh_hffpl")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_nwkjv") surface_material_override/0 = SubResource("StandardMaterial3D_nwkjv")
[node name="Plane_010" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(0.831011, 0, -0.974875, 0, 1.281, 0, 0.974875, 0, 0.831011, -10.1032, 0.0936406, -6.11157)
transparency = 0.88 transparency = 0.97
mesh = SubResource("ArrayMesh_q55ea") mesh = SubResource("ArrayMesh_q55ea")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_iucbo") surface_material_override/0 = SubResource("StandardMaterial3D_iucbo")
[node name="Plane_011" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(0.648072, 0, -1.2732, 0, 1.247, 0, 0.760266, 0, 1.08531, -5.09668, 0.0936406, -10.7682)
transparency = 0.93 transparency = 0.96
mesh = SubResource("ArrayMesh_jepii") mesh = SubResource("ArrayMesh_jepii")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_satv7") surface_material_override/0 = SubResource("StandardMaterial3D_satv7")
[node name="Plane_012" type="MeshInstance3D" parent="FINAL STAGE"] [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) 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") mesh = SubResource("ArrayMesh_m64ug")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_e4460") surface_material_override/0 = SubResource("StandardMaterial3D_e4460")
[node name="Plane_013" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(-0.700509, 0, 0.715045, 0, 1.001, 0, -0.715045, 0, -0.700509, 6.57162, 0.550828, 8.08738)
transparency = 0.83 transparency = 0.94
mesh = SubResource("ArrayMesh_o5ifk") mesh = SubResource("ArrayMesh_o5ifk")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_e5602") surface_material_override/0 = SubResource("StandardMaterial3D_e5602")
[node name="Plane_014" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(0.782983, 0, 0.00506076, 0, 0.994, 0, -0.00510642, 0, 0.775984, -2.15445, 0.108412, -7.12627)
transparency = 0.92 transparency = 0.95
mesh = SubResource("ArrayMesh_uaau6") mesh = SubResource("ArrayMesh_uaau6")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_ifinj") surface_material_override/0 = SubResource("StandardMaterial3D_ifinj")
[node name="Plane_015" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(-0.594837, 0, 0.607181, 0, 0.85, 0, -0.607181, 0, -0.594837, 7.96881, 0.0936406, 5.10934)
transparency = 0.92 transparency = 0.96
mesh = SubResource("ArrayMesh_72amh") mesh = SubResource("ArrayMesh_72amh")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_8emtn") surface_material_override/0 = SubResource("StandardMaterial3D_8emtn")
[node name="Plane_016" type="MeshInstance3D" parent="FINAL STAGE"] [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") material_override = SubResource("StandardMaterial3D_malkk")
transparency = 0.9 transparency = 0.98
mesh = SubResource("ArrayMesh_u3atd") mesh = SubResource("ArrayMesh_u3atd")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_62ota") 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"] [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) 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") material_override = SubResource("StandardMaterial3D_3klqc")
transparency = 0.88 transparency = 0.96
cast_shadow = 0 cast_shadow = 0
mesh = SubResource("ArrayMesh_03cjj") mesh = SubResource("ArrayMesh_03cjj")
skeleton = NodePath("") skeleton = NodePath("")
@@ -1706,43 +1711,43 @@ surface_material_override/0 = SubResource("StandardMaterial3D_6xsl2")
[node name="Plane_018" type="MeshInstance3D" parent="FINAL STAGE"] [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) 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") material_override = SubResource("StandardMaterial3D_0cgf3")
transparency = 0.71 transparency = 0.89
mesh = SubResource("ArrayMesh_2jxy6") mesh = SubResource("ArrayMesh_2jxy6")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_55sfs") surface_material_override/0 = SubResource("StandardMaterial3D_55sfs")
[node name="Plane_019" type="MeshInstance3D" parent="FINAL STAGE"] [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) 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") mesh = SubResource("ArrayMesh_xqoh3")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_vduif") surface_material_override/0 = SubResource("StandardMaterial3D_vduif")
[node name="Plane_020" type="MeshInstance3D" parent="FINAL STAGE"] [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") material_override = SubResource("StandardMaterial3D_opsem")
transparency = 0.78 transparency = 0.93
cast_shadow = 0 cast_shadow = 0
mesh = SubResource("ArrayMesh_u43pa") mesh = SubResource("ArrayMesh_u43pa")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Plane_021" type="MeshInstance3D" parent="FINAL STAGE"] [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) transform = Transform3D(1.64617, 0, 0, 0, 1, 0, 0, 0, 1.02218, -11.9204, 0.152895, -1.42975)
transparency = 0.87 transparency = 0.94
mesh = SubResource("ArrayMesh_d75vr") mesh = SubResource("ArrayMesh_d75vr")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_qjd1n") surface_material_override/0 = SubResource("StandardMaterial3D_qjd1n")
[node name="Plane_022" type="MeshInstance3D" parent="FINAL STAGE"] [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) 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") mesh = SubResource("ArrayMesh_og6cu")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_6og7m") surface_material_override/0 = SubResource("StandardMaterial3D_6og7m")
[node name="Plane_023" type="MeshInstance3D" parent="FINAL STAGE"] [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) 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") mesh = SubResource("ArrayMesh_ammp5")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_hrk61") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.260435, 0, -1.52945)
script = ExtResource("8_7itwt") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.064761, 0.75105, -2.67492)
collision_layer = 128 collision_layer = 128
collision_mask = 196 collision_mask = 196
@@ -1842,7 +1847,6 @@ freeze_mode = 1
script = ExtResource("34_ditjx") script = ExtResource("34_ditjx")
_hp = NodePath("HP Component") _hp = NodePath("HP Component")
_attack = ExtResource("34_isrj4") _attack = ExtResource("34_isrj4")
_animationPlayer = NodePath("AnimationPlayer")
[node name="PyramidSprite" type="Sprite3D" parent="BossOrbs/Pyramid"] [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) 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 wait_time = 15.0
autostart = true 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.75045, 0.241416, 1.28096)
collision_layer = 0 collision_layer = 0
collision_mask = 68 collision_mask = 68
@@ -1878,7 +1882,6 @@ freeze_mode = 1
script = ExtResource("34_ditjx") script = ExtResource("34_ditjx")
_hp = NodePath("HP Component") _hp = NodePath("HP Component")
_attack = ExtResource("37_jd5dy") _attack = ExtResource("37_jd5dy")
_animationPlayer = NodePath("AnimationPlayer")
[node name="CollisionShape3D" type="CollisionShape3D" parent="BossOrbs/Orb"] [node name="CollisionShape3D" type="CollisionShape3D" parent="BossOrbs/Orb"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.473554, 0, 0.565499) 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 wait_time = 13.0
autostart = true 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.88775, 0.704458, 1.45723)
collision_layer = 0 collision_layer = 0
collision_mask = 68 collision_mask = 68
@@ -1914,7 +1917,6 @@ freeze_mode = 1
script = ExtResource("34_ditjx") script = ExtResource("34_ditjx")
_hp = NodePath("HP Component") _hp = NodePath("HP Component")
_attack = ExtResource("40_sb1e4") _attack = ExtResource("40_sb1e4")
_animationPlayer = NodePath("AnimationPlayer")
[node name="HedronSprite" type="Sprite3D" parent="BossOrbs/Hedron"] [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) transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)

View File

@@ -311,7 +311,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.39414, 0, 0)
shape = SubResource("BoxShape3D_krx21") shape = SubResource("BoxShape3D_krx21")
[node name="CollisionShape3D3" type="CollisionShape3D" parent="Collisions"] [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") shape = SubResource("BoxShape3D_xkc5v")
[node name="CollisionShape3D4" type="CollisionShape3D" parent="Collisions"] [node name="CollisionShape3D4" type="CollisionShape3D" parent="Collisions"]

View File

@@ -9,23 +9,23 @@ public partial class Level : Node3D
public override void _EnterTree() public override void _EnterTree()
{ {
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager"); _gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
_enemies = GetNode("Enemies").GetChildren().OfType<BasicEnemy>().ToList(); _enemies = GetNode("Enemies").GetChildren().OfType<BasicEnemy>().ToList();
} }
public void OnEnemyDefeated(BasicEnemy enemy) public void OnEnemyDefeated(BasicEnemy enemy)
{ {
if (_enemies.Contains(enemy)) if (_enemies.Contains(enemy))
{ {
GD.Print("On enemy defeated " + enemy.Name); GD.Print("On enemy defeated " + enemy.Name);
_enemies.Remove(enemy); _enemies.Remove(enemy);
if (!_enemies.Any()) if (!_enemies.Any())
_gameManager.OnAllEnemiesDefeated(); _gameManager.OnAllEnemiesDefeated();
} }
} }
public void GameEnding() public void GameEnding()
{ {
QueueFree(); QueueFree();
} }
} }

View File

@@ -8,21 +8,21 @@ public partial class OrbAttack : Projectile
public override void _PhysicsProcess(double delta) public override void _PhysicsProcess(double delta)
{ {
var pathFollow = GetNode<PathFollow3D>("PathFollow3D"); var pathFollow = GetNode<PathFollow3D>("PathFollow3D");
if (pathFollow.ProgressRatio <= 0.98f) if (pathFollow.ProgressRatio <= 0.98f)
{ {
pathFollow.Progress += Speed * (float)delta; pathFollow.Progress += Speed * (float)delta;
} }
else else
{ {
ExplodeAttack(); ExplodeAttack();
} }
} }
public override void _Process(double delta) public override void _Process(double delta)
{ {
if (!IsQueuedForDeletion()) if (!IsQueuedForDeletion())
_sprite.RotateY(25); _sprite.RotateY(25);
} }
private void ExplodeAttack() private void ExplodeAttack()

View File

@@ -29,9 +29,9 @@ public partial class Player : Node3D
public override void _Ready() public override void _Ready()
{ {
foreach (var character in PlayableCharacterScenes) foreach (var character in PlayableCharacterScenes)
{ {
CharactersLeftOnStage.Add(character); CharactersLeftOnStage.Add(character);
} }
} }
} }

View File

@@ -1,4 +1,4 @@
using Godot; using Godot;
public partial class Projectile : Node3D public partial class Projectile : Node3D
{ {
@@ -18,44 +18,44 @@ public partial class Projectile : Node3D
public override void _EnterTree() public override void _EnterTree()
{ {
Speed = _projectileSpeed; Speed = _projectileSpeed;
} }
public override void _PhysicsProcess(double delta) public override void _PhysicsProcess(double delta)
{ {
var pathFollow = GetNode<PathFollow3D>("PathFollow3D"); var pathFollow = GetNode<PathFollow3D>("PathFollow3D");
pathFollow.Progress += Speed * (float)delta; pathFollow.Progress += Speed * (float)delta;
if (pathFollow.ProgressRatio > 0.98f) if (pathFollow.ProgressRatio > 0.98f)
Delete(); Delete();
} }
public void OnProjectileHit(Node node) public void OnProjectileHit(Node node)
{ {
if (node is BasicEnemy basicEnemy) if (node is BasicEnemy basicEnemy)
basicEnemy.Call(BasicEnemy.MethodName.OnEnemyHit, node); basicEnemy.Call(BasicEnemy.MethodName.OnEnemyHit, node);
Delete(); Delete();
} }
public void OnPlayerHit(Node node) public void OnPlayerHit(Node node)
{ {
SetPhysicsProcess(false); SetPhysicsProcess(false);
if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) if (node is Character character && character.HasMethod(Character.MethodName.OnHit))
{ {
GD.Print("Player hit: " + character.Name); GD.Print("Player hit: " + character.Name);
character.Call(Character.MethodName.OnHit, this); character.Call(Character.MethodName.OnHit, this);
} }
QueueFree(); QueueFree();
} }
public void Delete() public void Delete()
{ {
if (!isDeleted) if (!isDeleted)
{ {
isDeleted = true; isDeleted = true;
QueueFree(); QueueFree();
} }
} }
public float Speed { get; private set; } public float Speed { get; private set; }

View File

@@ -12,48 +12,48 @@ public partial class MainMenu : Node2D
public override void _Ready() public override void _Ready()
{ {
GetParent().GetNode<TextureRect>("MainMenu/UIAnimations/LoreSplash").Show(); GetParent().GetNode<TextureRect>("MainMenu/UIAnimations/LoreSplash").Show();
_animationPlayer = GetTree().Root.GetNode<AnimationPlayer>("/root/Main/MainMenu/UIAnimations/AnimationPlayer"); _animationPlayer = GetTree().Root.GetNode<AnimationPlayer>("/root/Main/MainMenu/UIAnimations/AnimationPlayer");
_animationPlayer.Play("IntroLore"); _animationPlayer.Play("IntroLore");
var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer"); var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer");
bgmPlayer.SetBGMFromFilepath("Audio/BGM/TitleTheme.ogg"); bgmPlayer.SetBGMFromFilepath("Audio/BGM/TitleTheme.ogg");
bgmPlayer.PlayBGM(); bgmPlayer.PlayBGM();
_player1Input = new Player1Input(); _player1Input = new Player1Input();
_player2Input = new Player2Input(); _player2Input = new Player2Input();
_animationPlayer.AnimationFinished += OnIntroAnimationFinished; _animationPlayer.AnimationFinished += OnIntroAnimationFinished;
} }
public override void _UnhandledInput(InputEvent @event) public override void _UnhandledInput(InputEvent @event)
{ {
if (_animationPlayer.IsPlaying() && (Input.IsActionJustReleased(_player1Input.Fire()) || Input.IsActionJustReleased(_player2Input.Fire()))) if (_animationPlayer.IsPlaying() && (Input.IsActionJustReleased(_player1Input.Fire()) || Input.IsActionJustReleased(_player2Input.Fire())))
{ {
_animationPlayer.Seek(10); _animationPlayer.Seek(10);
GetNode<TextureButton>("NewGame/1Player").GrabFocus(); GetNode<TextureButton>("NewGame/1Player").GrabFocus();
} }
} }
public void OnIntroAnimationFinished(StringName animationName) public void OnIntroAnimationFinished(StringName animationName)
{ {
GetNode<TextureButton>("NewGame/1Player").GrabFocus(); GetNode<TextureButton>("NewGame/1Player").GrabFocus();
} }
private void OneSinglePlayerPressed() private void OneSinglePlayerPressed()
{ {
Hide(); Hide();
var main = GetTree().Root.GetNode<Main>("/root/Main"); var main = GetTree().Root.GetNode<Main>("/root/Main");
main.LoadLevel(0, 1); main.LoadLevel(0, 1);
} }
private void OnTwoPlayerPressed() private void OnTwoPlayerPressed()
{ {
Hide(); Hide();
var main = GetTree().Root.GetNode<Main>("/root/Main"); var main = GetTree().Root.GetNode<Main>("/root/Main");
main.LoadLevel(0, 2); main.LoadLevel(0, 2);
} }
private void OnQuitButtonPressed() private void OnQuitButtonPressed()
{ {
GetTree().Quit(); GetTree().Quit();
} }
} }

View File

@@ -29,7 +29,7 @@
[sub_resource type="Animation" id="Animation_exerv"] [sub_resource type="Animation" id="Animation_exerv"]
resource_name = "Level1" resource_name = "Level1"
length = 7.0 length = 3.8
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -49,7 +49,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -61,7 +61,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -85,7 +85,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -145,7 +145,7 @@ tracks/9/path = NodePath("CenterContainer/Scene1/AstralChainGehenna:visible")
tracks/9/interp = 1 tracks/9/interp = 1
tracks/9/loop_wrap = true tracks/9/loop_wrap = true
tracks/9/keys = { tracks/9/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -157,7 +157,7 @@ tracks/10/path = NodePath("CenterContainer/Scene1/Link001_1:visible")
tracks/10/interp = 1 tracks/10/interp = 1
tracks/10/loop_wrap = true tracks/10/loop_wrap = true
tracks/10/keys = { tracks/10/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -165,7 +165,7 @@ tracks/10/keys = {
[sub_resource type="Animation" id="Animation_27l6u"] [sub_resource type="Animation" id="Animation_27l6u"]
resource_name = "Level10" resource_name = "Level10"
length = 7.0 length = 3.6
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -185,7 +185,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -197,7 +197,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -221,7 +221,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -257,7 +257,7 @@ tracks/7/path = NodePath("CenterContainer/Scene10/TheGodCircuit:visible")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -269,7 +269,7 @@ tracks/8/path = NodePath("CenterContainer/Scene10/TowerOfGeddon:visible")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -277,7 +277,7 @@ tracks/8/keys = {
[sub_resource type="Animation" id="Animation_re236"] [sub_resource type="Animation" id="Animation_re236"]
resource_name = "Level2" resource_name = "Level2"
length = 7.0 length = 3.6
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -297,7 +297,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -309,7 +309,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -333,7 +333,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -369,7 +369,7 @@ tracks/7/path = NodePath("CenterContainer/Scene2/AstralChainDa\'at:visible")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -381,7 +381,7 @@ tracks/8/path = NodePath("CenterContainer/Scene2/Link002_2y:visible")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -389,7 +389,7 @@ tracks/8/keys = {
[sub_resource type="Animation" id="Animation_l2c80"] [sub_resource type="Animation" id="Animation_l2c80"]
resource_name = "Level3" resource_name = "Level3"
length = 7.0 length = 3.6
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -409,7 +409,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -421,7 +421,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -445,7 +445,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -481,7 +481,7 @@ tracks/7/path = NodePath("CenterContainer/Scene3/AstralChainGallu:visible")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -493,7 +493,7 @@ tracks/8/path = NodePath("CenterContainer/Scene3/Link003_33:visible")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -501,7 +501,7 @@ tracks/8/keys = {
[sub_resource type="Animation" id="Animation_o54ud"] [sub_resource type="Animation" id="Animation_o54ud"]
resource_name = "Level4" resource_name = "Level4"
length = 7.0 length = 3.6
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -521,7 +521,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -533,7 +533,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -557,7 +557,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -593,7 +593,7 @@ tracks/7/path = NodePath("CenterContainer/Scene4/AstralChainNaraku:visible")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -605,7 +605,7 @@ tracks/8/path = NodePath("CenterContainer/Scene4/Link00404:visible")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -613,7 +613,7 @@ tracks/8/keys = {
[sub_resource type="Animation" id="Animation_3237l"] [sub_resource type="Animation" id="Animation_3237l"]
resource_name = "Level5" resource_name = "Level5"
length = 7.0 length = 3.6
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -633,7 +633,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -645,7 +645,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -669,7 +669,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -705,7 +705,7 @@ tracks/7/path = NodePath("CenterContainer/Scene5/AstralChainMictlān:visible")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -717,7 +717,7 @@ tracks/8/path = NodePath("CenterContainer/Scene5/Link005_5a:visible")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -725,7 +725,7 @@ tracks/8/keys = {
[sub_resource type="Animation" id="Animation_6rk0m"] [sub_resource type="Animation" id="Animation_6rk0m"]
resource_name = "Level6" resource_name = "Level6"
length = 7.0 length = 3.6
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -745,7 +745,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -757,7 +757,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -781,7 +781,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -817,7 +817,7 @@ tracks/7/path = NodePath("CenterContainer/Scene6/AstralChainXibalba:visible")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -829,7 +829,7 @@ tracks/8/path = NodePath("CenterContainer/Scene6/Link006_666:visible")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -837,7 +837,7 @@ tracks/8/keys = {
[sub_resource type="Animation" id="Animation_urb4e"] [sub_resource type="Animation" id="Animation_urb4e"]
resource_name = "Level7" resource_name = "Level7"
length = 7.0 length = 3.6
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -857,7 +857,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -869,7 +869,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -893,7 +893,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -929,7 +929,7 @@ tracks/7/path = NodePath("CenterContainer/Scene7/AstralChainMetnal:visible")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -941,7 +941,7 @@ tracks/8/path = NodePath("CenterContainer/Scene7/Link007_7:visible")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -949,7 +949,7 @@ tracks/8/keys = {
[sub_resource type="Animation" id="Animation_81npe"] [sub_resource type="Animation" id="Animation_81npe"]
resource_name = "Level8" resource_name = "Level8"
length = 7.0 length = 3.6
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -969,7 +969,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -981,7 +981,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -1005,7 +1005,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -1041,7 +1041,7 @@ tracks/7/path = NodePath("CenterContainer/Scene8/AstralChainAsphodel:visible")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -1053,7 +1053,7 @@ tracks/8/path = NodePath("CenterContainer/Scene8/Link008_08_8:visible")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -1061,7 +1061,7 @@ tracks/8/keys = {
[sub_resource type="Animation" id="Animation_osfo3"] [sub_resource type="Animation" id="Animation_osfo3"]
resource_name = "Level9" resource_name = "Level9"
length = 7.0 length = 3.6
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true 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/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -1081,7 +1081,7 @@ tracks/1/path = NodePath("CenterContainer/RestoreTheChirality,OfLove&:rotation")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -1093,7 +1093,7 @@ tracks/2/path = NodePath("CenterContainer/ThereAreTearsAtTheHeartOf:rotation")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [0.0, 3.14159] "values": [0.0, 3.14159]
@@ -1117,7 +1117,7 @@ tracks/4/path = NodePath(".:visible")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -1153,7 +1153,7 @@ tracks/7/path = NodePath("CenterContainer/Scene9/AstralChainDuat:visible")
tracks/7/interp = 1 tracks/7/interp = 1
tracks/7/loop_wrap = true tracks/7/loop_wrap = true
tracks/7/keys = { tracks/7/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
@@ -1165,7 +1165,7 @@ tracks/8/path = NodePath("CenterContainer/Scene9/Link00999:visible")
tracks/8/interp = 1 tracks/8/interp = 1
tracks/8/loop_wrap = true tracks/8/loop_wrap = true
tracks/8/keys = { tracks/8/keys = {
"times": PackedFloat32Array(0, 7), "times": PackedFloat32Array(0, 3.6),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]

View File

@@ -26,76 +26,76 @@ public partial class StageGUI : Control
public override void _Ready() public override void _Ready()
{ {
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager"); _gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
} }
public void OnCharacterSelect(Player player) public void OnCharacterSelect(Player player)
{ {
if (player.GameOver) if (player.GameOver)
return; return;
player.IsSelectingCharacter = true; player.IsSelectingCharacter = true;
ChangeBG(player); ChangeBG(player);
} }
public override void _Input(InputEvent @event) public override void _Input(InputEvent @event)
{ {
var playersSelecting = _gameManager.Players.Where(x => x.IsSelectingCharacter); var playersSelecting = _gameManager.Players.Where(x => x.IsSelectingCharacter);
foreach (var player in playersSelecting) foreach (var player in playersSelecting)
{ {
if (Input.IsActionJustPressed(player.PlayerInput.Right())) if (Input.IsActionJustPressed(player.PlayerInput.Right()))
{ {
_gameManager.SetToNextCharacter(player); _gameManager.SetToNextCharacter(player);
ChangeBG(player); ChangeBG(player);
} }
if (Input.IsActionJustPressed(player.PlayerInput.Left())) if (Input.IsActionJustPressed(player.PlayerInput.Left()))
{ {
_gameManager.SetToPreviousCharacter(player); _gameManager.SetToPreviousCharacter(player);
ChangeBG(player); ChangeBG(player);
} }
if (Input.IsActionJustPressed(player.PlayerInput.Fire())) if (Input.IsActionJustPressed(player.PlayerInput.Fire()))
{ {
GD.Print("Selected character"); GD.Print("Selected character");
player.IsSelectingCharacter = false; player.IsSelectingCharacter = false;
EmitSignal(SignalName.OnCharacterSelectionMade, player); EmitSignal(SignalName.OnCharacterSelectionMade, player);
GetTree().Paused = false; GetTree().Paused = false;
if (_audioStreamPlayer != null) if (_audioStreamPlayer != null)
_audioStreamPlayer.Play(); _audioStreamPlayer.Play();
} }
} }
foreach (var player in _gameManager.Players) foreach (var player in _gameManager.Players)
{ {
if (player.GameOver) if (player.GameOver)
EmitSignal(SignalName.OnPlayerGameOver, player); EmitSignal(SignalName.OnPlayerGameOver, player);
} }
if (!_gameManager.IsGameOverScreenOn && _gameManager.Players.All(x => x.GameOver)) if (!_gameManager.IsGameOverScreenOn && _gameManager.Players.All(x => x.GameOver))
{ {
EmitSignal(SignalName.OnGameOver, new Array<Player>(_gameManager.Players)); EmitSignal(SignalName.OnGameOver, new Array<Player>(_gameManager.Players));
} }
} }
private void ChangeBG(Player player) private void ChangeBG(Player player)
{ {
var instance = player.CharactersLeftOnStage.ElementAt(player.CharacterIndex).Instantiate(); var instance = player.CharactersLeftOnStage.ElementAt(player.CharacterIndex).Instantiate();
var name = instance.Name; var name = instance.Name;
GD.Print(name); GD.Print(name);
switch (name) switch (name)
{ {
case "Capricorn": case "Capricorn":
EmitSignal(SignalName.CapricornSelected, player); EmitSignal(SignalName.CapricornSelected, player);
break; break;
case "Scorpio": case "Scorpio":
EmitSignal(SignalName.ScorpioSelected, player); EmitSignal(SignalName.ScorpioSelected, player);
break; break;
case "Pisces": case "Pisces":
EmitSignal(SignalName.PiscesSelected, player); EmitSignal(SignalName.PiscesSelected, player);
break; break;
case "Sagittarius": case "Sagittarius":
EmitSignal(SignalName.SagittariusSelected, player); EmitSignal(SignalName.SagittariusSelected, player);
break; break;
} }
} }
} }

View File

@@ -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="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"] [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 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@@ -17,7 +17,6 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_wr2m0") script = ExtResource("1_wr2m0")
_audioStreamPlayer = NodePath("AudioStreamPlayer")
metadata/_edit_horizontal_guides_ = [-342.0] metadata/_edit_horizontal_guides_ = [-342.0]
[node name="SidebarLeft" type="TextureRect" parent="."] [node name="SidebarLeft" type="TextureRect" parent="."]