Пример #1
0
 public void OnBirdEffectDestroyed(BirdEffect effect)
 {
     if (birdEffects.Count > 0)
     {
         birdEffects.Remove(effect);
     }
     if (birdEffects.Count == 0)
     {
         OnFinish();
     }
 }
Пример #2
0
    private void BirdEffect(SpecialBlock block)
    {
        // Random blocktype
        BlockType blockType = RandomBlockType();

        birdEffects = new List <BirdEffect>();
        this.block  = block;
        //Kich hoat am thanh
        if (SoundManager.instance != null)
        {
            SoundManager.instance.PlaySFX(SFX.BIRD_FLY);
        }
        for (int i = 0; i < BoardManager.instance.width; i++)
        {
            for (int j = 0; j < BoardManager.instance.height; j++)
            {
                Block blockEntry = BoardManager.instance.GetBlock(i, j);
                if (blockEntry.type == blockType)
                {
                    blocks.Add(blockEntry);
                    blockEntry.SetState(BlockState.Selected);
                    GameObject go     = GameObject.Instantiate(block.effectPrefab, startPosition, Quaternion.identity) as GameObject;
                    BirdEffect effect = go.GetComponent <BirdEffect>();
                    effect.target    = blockEntry;
                    effect.onDestroy = OnBirdEffectDestroyed;
                    birdEffects.Add(effect);
                }
            }
        }
        //Kich hoat am thanh
        Debug.Log("So luong quan: " + blocks.Count);
        if (SoundManager.instance != null)
        {
            SoundManager.instance.PlaySFX(SFX.BIRD_PERCHE);
        }
    }