using Godot; using System.Linq; public partial class AreaExit : Node3D { [Export] private int _levelIndex; private GameManager _gameManager; public override void _Ready() { _gameManager = GetTree().Root.GetNode("Main/GameManager"); } private void OnExitEntered(Node3D node) { if (node.GetType() == typeof(Character1)) _gameManager.RemoveCharacterAndAddToExit((Character1)node); if (node.GetType() == typeof(Character2)) _gameManager.RemoveCharacterAndAddToExit((Character2)node); var main = GetTree().Root.GetNode
("/root/Main"); if (!_gameManager.Players.ElementAt(0).CharactersLeftOnStage.Any()) { _gameManager.OnLevelClear(); main.LoadNextLevel(_levelIndex); } } }