Fix various issues

This commit is contained in:
2023-09-12 09:35:00 -07:00
parent a5d36734ef
commit 37180e2def
21 changed files with 247 additions and 124 deletions

View File

@@ -61,15 +61,16 @@ public partial class GameManager : Node
public void OnCharacterSelected(Player player)
{
player.SelectedCharacter = null;
var sfxPlayer = GetTree().Root.GetNode<AudioStreamPlayer>("Main/SFXPlayer");
var audioStream = ResourceLoader.Load<AudioStream>("Audio/SFX/Select.wav");
sfxPlayer.Stream = audioStream;
sfxPlayer.Play();
GD.Print(player.Name);
if (player.CharactersLeftOnStage.Any())
{
player.SelectedCharacter = player.CharactersLeftOnStage[player.CharacterIndex];
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);
}
@@ -79,12 +80,10 @@ public partial class GameManager : Node
{
ResetPlayerPosition(player);
player.CharactersLeftOnStage.Remove(player.SelectedCharacter);
player.CharactersLeftOnStage.RemoveAt(player.CharacterIndex);
if (player.SelectedCharacter is not null)
GetTree().Root.RemoveChild(player.SelectedCharacter);
GD.Print(player.CharactersLeftOnStage.Select(x => x.Name).ToArray());
player.CharacterIndex = 0;
if (player.CharactersLeftOnStage.Any())
EmitSignal(SignalName.ReselectCharacter, player);
@@ -99,7 +98,7 @@ public partial class GameManager : Node
public void RemoveCharacterAndAddToExit(Player player)
{
ResetPlayerPosition(player);
player.CharactersExited.Add(player.SelectedCharacter);
player.CharactersExited.Add(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex));
RemoveCharacter(player);
}