Files
GameJam2023/Scripts/AreaExit.cs
2023-09-04 13:39:18 -07:00

32 lines
797 B
C#

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<GameManager>("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<Main>("/root/Main");
if (!_gameManager.Players.ElementAt(0).CharactersLeftOnStage.Any())
{
_gameManager.OnLevelClear();
main.LoadNextLevel(_levelIndex);
}
}
}