//TODO  move the event functionality to a different, single GO
    void OnEnemyDied(EventCore.EnemyDiedData data)
    {
        enemyList.Remove(data.deadEnemy);
        if (checkForLastEnemy)
        {
            print("CHECK FOR LAST ENEMY");
            if (enemyList.Count == 0)
            {
                print("ZERO ENEMIES IN LEVEL");
                Time.timeScale = 1;


                //UnityEngine.SceneManagement.SceneManager.LoadScene(0);
                //var winData = new EventCore.WinData();
                EventCore.Instance.levelWon.Invoke();
            }
        }
    }
예제 #2
0
    public void Die()
    {
        var data = new EventCore.EnemyDiedData();

        data.deadEnemy = gameObject;
        EventCore.Instance.enemyDied.Invoke(data);

        float rand = Random.Range(0, randomChanceToDrop);

        if (rand <= 1)
        {
            GameObject drop = Instantiate(healthDrop, transform.position, Quaternion.identity, null);
        }
        //DO ALL DEATH EFFECTS, ETC HERE
        GameObject death = Instantiate(death_PS, transform.position, transform.rotation) as GameObject;

        Destroy(gameObject);
    }