Files
OnlyNPC/Assets/FPS/Scripts/AI/EnemyManager.cs
manhduyhoang90 167a617e09 asdasd
2026-05-26 09:46:57 +07:00

38 lines
1.1 KiB
C#

using System.Collections.Generic;
using Unity.FPS.Game;
using UnityEngine;
namespace Unity.FPS.AI
{
public class EnemyManager : MonoBehaviour
{
public List<EnemyController> Enemies { get; private set; }
public int NumberOfEnemiesTotal { get; private set; }
public int NumberOfEnemiesRemaining => Enemies.Count;
void Awake()
{
Enemies = new List<EnemyController>();
}
public void RegisterEnemy(EnemyController enemy)
{
Enemies.Add(enemy);
NumberOfEnemiesTotal++;
}
public void UnregisterEnemy(EnemyController enemyKilled)
{
int enemiesRemainingNotification = NumberOfEnemiesRemaining - 1;
EnemyKillEvent evt = Events.EnemyKillEvent;
evt.Enemy = enemyKilled.gameObject;
evt.RemainingEnemyCount = enemiesRemainingNotification;
EventManager.Broadcast(evt);
// removes the enemy from the list, so that we can keep track of how many are left on the map
Enemies.Remove(enemyKilled);
}
}
}