private void OnUnitDefeated(Unit unit) { EnemyUnit enemy = unit as EnemyUnit; if (enemy == null) { return; } RemoveUnitListeners(enemy); AddEnemyDespawnTimer(enemy); OnEnemyDefeated?.Invoke(unit); }
private GameObject CreateEnemy(GameObject prefab) { var enemy = Instantiate(prefab, transform.position, Quaternion.identity, transform); enemy.gameObject.SetActive(false); enemy.GetComponent <EnemyHealth>().OnHealthZero += () => { OnEnemyDefeated?.Invoke(enemy); }; return(enemy); }