public override Spawnable Spawn(Spawnable spawnable, Vector3 position, Transform parent) { var spawnGO = Instantiate(spawnable, position, spawnable.transform.rotation); spawnGO.transform.SetParent(parent); enemiesSpawned.Add(spawnGO); spawnGO.OnDestroyAction += () => enemiesSpawned.Remove(spawnGO); return(spawnGO); }
public void SetRandomEnemiesForBattle(Spawnable instigator) { var index = spawnables.IndexOf(spawnables.Single(s => s.name == instigator.name)); var firstEnemy = enemiesInArea[index]; var numberOfEnemies = Random.Range(1, 5); var list = new List <Enemy> { firstEnemy }; for (var i = 1; i < numberOfEnemies; i++) { var enemyToAdd = enemiesInArea[Random.Range(0, enemiesInArea.Count)]; list.Add(enemyToAdd); } EnemyManager.SetBattleEnemies(list); }
public virtual Spawnable Spawn(Spawnable spawnable, Vector3 position, Transform parent) { return(null); }