void Update() { if (startUp) { transform.Translate(Time.deltaTime * speed, 0, 0); object[] zombies = search.SearchZombiesInRange(row, 0, range); foreach (GameObject zombie in zombies) { zombie.GetComponent <ZombieHealthy>().Damage(10000); } if (transform.position.x > (StageMap.GRID_RIGHT + 0.4f)) { Destroy(gameObject); } } else { if (search.IsZombieInRange(row, 0, range)) { startUp = true; AudioManager.GetInstance().PlaySound(sound); } } }
void Update() { if (cdTime >= 0) { cdTime -= Time.deltaTime; } else { object[] zombies = search.SearchZombiesInRange(grow.row, -range, range); if (zombies.Length != 0) { foreach (GameObject zombie in zombies) { zombie.GetComponent <ZombieHealthy>().Damage(atk); --attackCount; } cdTime = cd; if (attackCount <= 0) { GameModel.GetInstance().map[grow.row, grow.col] = null; Destroy(gameObject); } } } }
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.SearchZombiesInRange(explodeRange)) { 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); }
void Start() { object[] zombies = search.SearchZombiesInRange(attackRadius); foreach (GameObject zombie in zombies) { zombie.GetComponent <ZombieHealthy>().Damage(atk); } Destroy(gameObject, destroyTime); }
IEnumerator Explode() { yield return(new WaitForSeconds(delayTime)); // Cherry Effect GameObject newEffect = Instantiate(effect1); newEffect.transform.position = transform.position + effectOffset1; newEffect.GetComponent <SpriteRenderer>().sortingOrder = transform.Find("plant").GetComponent <SpriteRenderer>().sortingOrder + 1; Destroy(newEffect, 1.5f); // Jalapeno Effect GameObject newEffect2 = Instantiate(effect2); 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); // Cherry Damage SearchZombie search = GetComponent <SearchZombie>(); foreach (GameObject zombie in search.SearchZombiesInRange(explodeRange1)) { zombie.GetComponent <ZombieHealthy>().BoomDie(); } // Jalapeno 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(explodeSound1); AudioManager.GetInstance().PlaySound(explodeSound2); 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); }
void Update() { object[] zombies = search.SearchZombiesInRange(grow.row, -range, range); if (zombies.Length != 0) { foreach (GameObject zombie in zombies) { zombie.GetComponent <ZombieHealthy>().Eat(); } animator.SetTrigger("boom"); GameObject eff = Instantiate(effect); eff.transform.position = transform.position + effectOffset; eff.GetComponent <SpriteRenderer>().sortingOrder = transform.FindChild("plant").GetComponent <SpriteRenderer>().sortingOrder + 1; Destroy(eff, destroyTime); AudioManager.GetInstance().PlaySound(explodeSound); Invoke("DoDestroy", destroyTime); enabled = false; } }