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]
loop=true
loop_offset=0
bpm=0
loop_offset=0.0
bpm=0.0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -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

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="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")

View File

@@ -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;
}
}
}

View File

@@ -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<HealthPoints>("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<HealthPoints>("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<HealthPoints>("HP Component");
_animationPlayer.Play("OnHit");
hpComponent.TakeDamage(60);
EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP);
var hpComponent = GetNode<HealthPoints>("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();
}
}

View File

@@ -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<Character>();
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<Character>();
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;
}
}
}
}
}

View File

@@ -23,138 +23,138 @@ public partial class GameManager : Node
public override void _Ready()
{
var main = GetTree().Root.GetNode<Main>("/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<Main>("/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<AudioStreamPlayer>("Main/SFXPlayer");
var audioStream = ResourceLoader.Load<AudioStream>("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<AudioStreamPlayer>("Main/SFXPlayer");
var audioStream = ResourceLoader.Load<AudioStream>("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<Player>();
foreach (var player in players)
player.QueueFree();
var levels = GetTree().Root.GetChildren().OfType<Level>();
foreach (var level in levels)
level.QueueFree();
GetTree().ReloadCurrentScene();
GD.Print("Reloading scene");
var players = GetTree().Root.GetChildren().OfType<Player>();
foreach (var player in players)
player.QueueFree();
var levels = GetTree().Root.GetChildren().OfType<Level>();
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<Main>("/root/Main");
if (_levelIndex < main.Levels.Count)
{
_levelIndex++;
main.LoadNextLevel(_levelIndex);
}
var main = GetTree().Root.GetNode<Main>("/root/Main");
if (_levelIndex < main.Levels.Count)
{
_levelIndex++;
main.LoadNextLevel(_levelIndex);
}
}
}

View File

@@ -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");
bgmPlayer.ProcessMode = ProcessModeEnum.Always;
bgmPlayer.SetBGMFromFilepath("Audio/BGM/An-Imitation-of-Heaven.ogg");
bgmPlayer.PlayBGM();
var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer");
bgmPlayer.ProcessMode = ProcessModeEnum.Always;
bgmPlayer.SetBGMFromFilepath("Audio/BGM/An-Imitation-of-Heaven.ogg");
bgmPlayer.PlayBGM();
var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer");
animationNode.Play($"Level{indexToLoad + 1}");
animationNode.AnimationFinished += EnableCharacterSelect;
var animationNode = GetNode<AnimationPlayer>("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<AnimationPlayer>("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<AnimationPlayer>("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<PackedScene>(sceneToAdd.ResourcePath);
var newScene = nextScene.Instantiate();
GetTree().Root.AddChild(newScene);
if (GetTree().GetFirstNodeInGroup("Level") != null)
GetTree().GetFirstNodeInGroup("Level").QueueFree();
var nextScene = GD.Load<PackedScene>(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>("GameManager");
foreach (var player in gameManagerInstance.Players)
gameManagerInstance.OnHandleCharacterSelectUI(player);
GetTree().Paused = true;
var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer");
animationNode.AnimationFinished -= EnableCharacterSelect;
GD.Print("On animation finished: Enable characters");
var gameManagerInstance = GetNode<GameManager>("GameManager");
foreach (var player in gameManagerInstance.Players)
gameManagerInstance.OnHandleCharacterSelectUI(player);
GetTree().Paused = true;
var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer");
animationNode.AnimationFinished -= EnableCharacterSelect;
}
}

View File

@@ -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)

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")
[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"]

View File

@@ -9,23 +9,23 @@ public partial class Level : Node3D
public override void _EnterTree()
{
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
_enemies = GetNode("Enemies").GetChildren().OfType<BasicEnemy>().ToList();
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
_enemies = GetNode("Enemies").GetChildren().OfType<BasicEnemy>().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();
}
}

View File

@@ -8,21 +8,21 @@ public partial class OrbAttack : Projectile
public override void _PhysicsProcess(double delta)
{
var pathFollow = GetNode<PathFollow3D>("PathFollow3D");
if (pathFollow.ProgressRatio <= 0.98f)
{
pathFollow.Progress += Speed * (float)delta;
}
else
{
ExplodeAttack();
}
var pathFollow = GetNode<PathFollow3D>("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()

View File

@@ -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);
}
}
}

View File

@@ -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>("PathFollow3D");
pathFollow.Progress += Speed * (float)delta;
if (pathFollow.ProgressRatio > 0.98f)
Delete();
var pathFollow = GetNode<PathFollow3D>("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; }

View File

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

View File

@@ -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]

View File

@@ -26,76 +26,76 @@ public partial class StageGUI : Control
public override void _Ready()
{
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
_gameManager = GetTree().Root.GetNode<GameManager>("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<Player>(_gameManager.Players));
}
if (!_gameManager.IsGameOverScreenOn && _gameManager.Players.All(x => x.GameOver))
{
EmitSignal(SignalName.OnGameOver, new Array<Player>(_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;
}
}
}

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="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="."]