コード例 #1
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.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);
    }
コード例 #2
0
    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);
    }