Scene transitions initial implementation

This commit is contained in:
2023-09-11 00:07:40 -07:00
parent 81a56986ac
commit 51307c0d40
48 changed files with 1755 additions and 130 deletions

View File

@@ -9,6 +9,8 @@ public partial class GameManager : Node
public delegate void OnPlayerGameOverEventHandler();
[Signal]
public delegate void ReselectCharacterEventHandler(Player player);
[Signal]
public delegate void ClearPlayerBGEventHandler(Array<Player> players);
[Export]
private Array<PackedScene> PlayerScenes;
@@ -126,14 +128,17 @@ public partial class GameManager : Node
public void OnLevelClear()
{
var playerCharacters = GetTree().GetNodesInGroup("Player");
foreach (var player in Players)
{
EmitSignal(SignalName.ClearPlayerBG, player.PlayerNumber);
player.CharactersLeftOnStage.AddRange(player.CharactersExited);
player.CharactersExited.Clear();
player.CharacterIndex = 0;
}
var playerCharacters = GetTree().GetNodesInGroup("Player");
foreach (var character in playerCharacters)
character.GetParent().RemoveChild(character);
@@ -144,8 +149,5 @@ public partial class GameManager : Node
var main = GetTree().Root.GetNode<Main>("/root/Main");
_levelIndex++;
main.LoadNextLevel(_levelIndex);
foreach (var player in Players)
EmitSignal(SignalName.ReselectCharacter, player);
}
}