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 is Character) { if (node.GetType() == typeof(Character1) || node.GetType() == typeof(Capricorn)) _gameManager.RemoveCharacterAndAddToExit((Character1)node); if (node.GetType() == typeof(Character2) || node.GetType() == typeof(Capricorn2)) _gameManager.RemoveCharacterAndAddToExit((Character2)node); GD.Print("Exit reached"); if (!_gameManager.Players.Any(x => x.CharactersLeftOnStage.Any())) _gameManager.OnLevelClear(); } } }