Exemple #1
0
    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);
            }
        }
    }
Exemple #2
0
    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);
                }
            }
        }
    }
Exemple #3
0
    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);
    }
Exemple #4
0
 void Start()
 {
     object[] zombies = search.SearchZombiesInRange(attackRadius);
     foreach (GameObject zombie in zombies)
     {
         zombie.GetComponent <ZombieHealthy>().Damage(atk);
     }
     Destroy(gameObject, destroyTime);
 }
Exemple #5
0
    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;
        }
    }