public void OnBirdEffectDestroyed(BirdEffect effect) { if (birdEffects.Count > 0) { birdEffects.Remove(effect); } if (birdEffects.Count == 0) { OnFinish(); } }
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); } }