Exemple #1
0
 /// <summary>
 /// 邻格正在被正常消除,解除砖块
 /// </summary>
 public void AdjacentBeThreePopped()
 {
     if (MyState == State.Brick)
     {
         MyState = State.Normal;
         //动画,计分
         GameManager.Instance.CellEffectContainer.PlayBrickBreakEffect(transform.localPosition);
         EnergyLightSpot.Create(transform.localPosition, 20, 1.8f);
         GameManager.Instance.CellEffectContainer.CreateAddEnergyFloatingLabel(transform.localPosition, 20);
     }
 }
Exemple #2
0
        /// <summary>
        /// 真正的消除了
        /// </summary>
        private void _Pop()
        {
            //计分
            if (IsNormalOrSpecial)
            {
                MyGrid.AddComboAmountOne();
                int addEnergy;
                if (0 <= Genre && Genre < GameData.CandyEnergyList.Length)
                {
                    addEnergy = GameData.CandyEnergyList[Genre] * MyGrid.CurrentComboMultiple;
                }
                else
                {
                    addEnergy = 1;
                }
                GameManager.Instance.PopEffectContainer.NormalPopEffect(CurIJ, Genre); //普通消除特效
                EnergyLightSpot.Create(CurIJ, addEnergy);                              //能量光点
                //if (MyGrid.CurrentComboMultiple > 1)
                //{
                //    GameManager.Instance.CellEffectContainer.CreateAddComboLabel(MyGrid.GetCellPosition(CurIJ),
                //                                                                 MyGrid.CurrentComboMultiple);
                //}
            }
            else if (MyType == CandyType.Item)
            {
                switch (Genre)
                {
                case 202:
                    GameData.MyHealth += 300;
                    break;

                case 203:
                    EnergyLightSpot.Create(CurIJ, 50);
                    break;

                case 204:
                    //TODO:钱袋
                    break;
                }
            }

            if (MyGrid[CurIJ].MyCandy == this)
            {
                MyGrid[CurIJ].MyCandy = null;
            }

            //if (MyType == CandyType.H)
            //{
            //    GameManager.Instance.PopEffectContainer.StripeHSpecialPopEffect(CurIJ, Genre);
            //}
            //else if (MyType == CandyType.V)
            //{
            //    GameManager.Instance.PopEffectContainer.StripeVSpecialPopEffect(CurIJ, Genre);
            //}
            //else if (MyType == CandyType.Bomb)
            //{
            //    if (FiredBombRange < 4)
            //    {
            //        GameManager.Instance.PopEffectContainer.Bomb3SpecialPopEffect(CurIJ, Genre);
            //    }
            //    else
            //    {
            //        GameManager.Instance.PopEffectContainer.Bomb5SpecialPopEffect(CurIJ, Genre);
            //    }
            //}

            //消除音效
            AudioManager.PlayRandomOneShot(0.2f, PopAudios);

            CandyPool.Enqueue(gameObject, 1f);
        }