27 lines
666 B
C#
27 lines
666 B
C#
using Godot;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
public partial class Level : Node3D
|
|
{
|
|
private List<BasicEnemy> _enemies;
|
|
private GameManager _gameManager;
|
|
|
|
public override void _Ready()
|
|
{
|
|
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
|
|
_enemies = GetNode("Enemies").GetChildren().OfType<BasicEnemy>().ToList();
|
|
}
|
|
|
|
public void OnEnemyDefeated(BasicEnemy enemy)
|
|
{
|
|
if (_enemies.Contains(enemy))
|
|
{
|
|
GD.Print("On enemy defeated " + enemy.Name);
|
|
_enemies.Remove(enemy);
|
|
if (!_enemies.Any())
|
|
_gameManager.OnAllEnemiesDefeated();
|
|
}
|
|
}
|
|
}
|