Files
GameJam2023/Levels/Scripts/AreaExit.cs
2023-09-11 20:01:18 -07:00

32 lines
698 B
C#

using Godot;
using System.Linq;
public partial class AreaExit : Area3D
{
[Export]
private int _levelIndex;
private GameManager _gameManager;
public override void _Ready()
{
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
}
private void OnExitEntered(Node3D node)
{
var character = node as Character;
character.Position = new Vector3(0, 0, -20);
_gameManager.RemoveCharacterAndAddToExit(character.OwnerPlayer);
GD.Print($"Exit reached by {character.Name}");
if (!_gameManager.Players.Any(x => x.CharactersLeftOnStage.Any()))
{
QueueFree();
_gameManager.OnLevelClear();
}
}
}