Fix multiplayer

This commit is contained in:
2023-09-04 07:20:33 -07:00
parent c32bbfe45a
commit c2239d240e
16 changed files with 954 additions and 124 deletions

View File

@@ -7,8 +7,8 @@ public partial class GameManager : Node
{
[Signal]
public delegate void OnGameOverEventHandler();
public bool IsSelectingCharacter = true;
[Signal]
public delegate void ReselectCharacterEventHandler(Player player);
private bool _gameOver = false;
private int _characterIndex = 0;
@@ -40,7 +40,6 @@ public partial class GameManager : Node
public void OnCharacterSelected(Player player)
{
GD.Print("Instancing...");
GD.Print(player.PlayableCharacters.Count());
var selectedCharacter = player.PlayableCharacters[_characterIndex].Instantiate();
player.SelectedCharacter = selectedCharacter as Character;
GetTree().Root.AddChild(player.SelectedCharacter);
@@ -52,15 +51,15 @@ public partial class GameManager : Node
player.PlayableCharacters.Remove(player.PlayableCharacters.ElementAt(_characterIndex));
player.SelectedCharacter?.QueueFree();
_characterIndex = 0;
if (player.PlayableCharacters.Count() > 0)
EmitSignal(SignalName.ReselectCharacter, player);
}
public void SetGameOver(bool isGameOver)
{
_gameOver = isGameOver;
if (isGameOver)
{
EmitSignal(SignalName.OnGameOver);
}
}
public bool IsGameOver => _gameOver;