// stack version private void SpawnOneEnemy() { if (spawnStack.Count == 0) { spawnStack = ListUtils.CreateShuffledStack(spawnPoints); } // RNG for enemy selection int rand = UnityEngine.Random.Range(0, 5); //Debug.Log(rand); var enemy = new Enemy(); var reflectEnemy = new ReflectEnemy(); // Instantiates enemy object // 50% passive enemy, 50% other enemies if (rand == 1) { enemy = Instantiate(enemyPrefab, enemyParent.transform); } else if (rand == 2) { enemy = Instantiate(enemyPrefab2, enemyParent.transform); } else if (rand == 3) { enemy = Instantiate(enemyPrefab2, enemyParent.transform); } else if (rand == 4) { reflectEnemy = Instantiate(enemyPrefab3, enemyParent.transform); } var sp = spawnStack.Pop(); // uses selected type of enemy if (rand == 1 || rand == 2 || rand == 3) { enemy.transform.position = sp.transform.position; } else if (rand == 4) { reflectEnemy.transform.position = sp.transform.position; } }
// Adds passive enemy value to score private void OnPassiveEnemyKilledEvent(ReflectEnemy passiveEnemy) { playerScore += passiveEnemy.ScoreValue; UpdateScore(); }