//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(); } } }
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); }