IEnumerator Explode() { yield return(new WaitForSeconds(delayTime)); GameObject newEffect = Instantiate(effect); newEffect.transform.position = transform.position + effectOffset; newEffect.GetComponent <SpriteRenderer>().sortingOrder = transform.Find("plant").GetComponent <SpriteRenderer>().sortingOrder + 1; Destroy(newEffect, 1.5f); SearchZombie search = GetComponent <SearchZombie>(); foreach (GameObject zombie in search.SearchZombiesInCol()) { zombie.GetComponent <ZombieHealthy>().BoomDie(); } AudioManager.GetInstance().PlaySound(explodeSound); GetComponent <PlantHealthy>().Die(); // Create hole GameObject tempPlant = Instantiate(hole); tempPlant.transform.position = StageMap.GetPlantPos(grow.row, grow.col); tempPlant.GetComponent <PlantGrow>().grow(grow.row, grow.col); }
IEnumerator Explode() { yield return(new WaitForSeconds(delayTime)); // col effect GameObject newEffect1 = Instantiate(effectC); newEffect1.transform.position = transform.position + effectOffset; newEffect1.GetComponent <SpriteRenderer>().sortingOrder = transform.Find("plant").GetComponent <SpriteRenderer>().sortingOrder + 1; Destroy(newEffect1, 1.5f); // row effect GameObject newEffect2 = Instantiate(effectR); newEffect2.transform.position = new Vector3(1.8f, transform.position.y + 0.5f, 0); newEffect2.GetComponent <SpriteRenderer>().sortingOrder = transform.Find("plant").GetComponent <SpriteRenderer>().sortingOrder + 1; Destroy(newEffect2, 1.2f); // col damage SearchZombie search = GetComponent <SearchZombie>(); foreach (GameObject zombie in search.SearchZombiesInCol()) { zombie.GetComponent <ZombieHealthy>().BoomDie(); } // row damage GameModel model = GameModel.GetInstance(); int row = GetComponent <PlantGrow>().row; object[] zombies = model.zombieList[row].ToArray(); foreach (GameObject zombie in zombies) { zombie.GetComponent <ZombieHealthy>().BoomDie(); } AudioManager.GetInstance().PlaySound(explodeSound); GetComponent <PlantHealthy>().Die(); // Create hole GameObject tempPlant = Instantiate(hole); tempPlant.transform.position = StageMap.GetPlantPos(grow.row, grow.col); tempPlant.GetComponent <PlantGrow>().grow(grow.row, grow.col); }