AsteroidGame/Assets/Handlers/EnemyHandler.cs

47 lines
1.2 KiB
C#

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Pool;
namespace AsteroidGame.Handlers
{
public class EnemyHandler : HandlerBase
{
[Header("Parameters")]
[SerializeField] [Range(0.1f, 60f)] float _spawnRate = 60f;
[SerializeField] int _objectPoolSize = 15;
[Header("Prefabs")]
[SerializeField] GameObject _objectPool;
[SerializeField] List<GameObject> _enemyPrefabs = new List<GameObject>();
[Header("Lists")]
[SerializeField] List<GameObject> _enemyPools = new List<GameObject>();
[SerializeField] List<GameObject> _allEnemies = new List<GameObject>();
private void Start()
{
}
public void AddEnemyToAllEnemies(GameObject enemy)
{
_allEnemies.Add(enemy);
}
public void RemoveEnemy(GameObject enemy)
{
_allEnemies.Remove(enemy);
}
public List<GameObject> ReturnAllEnemies()
{
return _allEnemies;
}
public void NotifyEnemiesOfNewPath()
{
BroadcastMessage("RecalculatePath", SendMessageOptions.DontRequireReceiver);
}
}
}