Files
GameJam2023/Scripts/Level.cs
2023-09-04 16:40:14 -07:00

37 lines
953 B
C#

using Godot;
using Godot.Collections;
using System.Linq;
public partial class Level : Node3D
{
[Export]
private Array<PackedScene> _enemyScenes;
[Export]
private Array<Node3D> _spawnPoints;
private Array<Node3D> _enemies = new Array<Node3D>();
private GameManager _gameManager;
public override void _Ready()
{
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
for (var i = 0; i < _enemyScenes.Count; i++)
{
var enemy = _enemyScenes[i].Instantiate();
var convertedNode = (Node3D)enemy;
GetTree().Root.AddChild(convertedNode);
_enemies.Add(convertedNode);
//convertedNode.Transform = _spawnPoints[i].Transform;
}
}
public void OnEnemyDefeated(Node3D enemyDefeated)
{
GD.Print("On enemy defeated");
_enemies.Remove(enemyDefeated);
if (!_enemies.Any())
_gameManager.OnAllEnemiesDefeated();
}
}