示例#1
0
    private void OnUnitDefeated(Unit unit)
    {
        EnemyUnit enemy = unit as EnemyUnit;

        if (enemy == null)
        {
            return;
        }
        RemoveUnitListeners(enemy);
        AddEnemyDespawnTimer(enemy);
        OnEnemyDefeated?.Invoke(unit);
    }
示例#2
0
    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);
    }