Exemple #1
0
        // private float timeAccumulate = 0;
        private void itemAnim_end(int fixitemi)
        {
            int distance = Mathf.Abs(fixitemi - (_itemPosI / 2));

            _timeScale -= Time.fixedDeltaTime * _speedRate;

            if (distance > 5 && distance < 12)
            {
                _itemAnimState = ItemAnimState.FinalEnd;

                return;
            }

            if (_timeScale <= 0)
            {
                LightItems[0].SetActive(true);
                LightItems[0].GetComponent <Image>().rectTransform.localPosition = new Vector3(_boxPosList[_itemPosI], _boxPosList[_itemPosI + 1]);



                if (_itemPosI < _boxPosList.Length - 2)
                {
                    _itemPosI += 2;
                }
                else
                {
                    _itemPosI = 0;
                }
                PlayDingSds();
                _timeScale = TimeLength;
            }
        }
Exemple #2
0
        private void RunChooAnimEnd()
        {
            if (_runTime > 1.5f && (_itemPosI / 2 == SlotInfo.GoodLuckPoints[0]))
            {
                foreach (var t in BoxShiningGobs)
                {
                    t.SetActive(false);
                }
                List <int> itemIlist = SlotInfo.GoodLuckPoints;
                foreach (int boxI in itemIlist)
                {
                    Debug.Log("box_i:" + boxI);
                    BoxShiningGobs[boxI].SetActive(true);
                    BoxShiningGobs[boxI].GetComponentInChildren <Image>().enabled = true;
                    //BoxShiningGobs[boxI].GetComponent<BoxShining>().TimeRate = 0.1f;
                    //BoxShiningGobs[boxI].GetComponent<BoxShining>().ChangeBoxColor(new Color(1f, 1f, 0));
                }
                _itemAnimState = ItemAnimState.Fresh;
                eve_shakeBtnFrame(this, EventArgs.Empty);
                //隐藏尾迹
                for (int i = 1; i < LightItems.Length; i++)
                {
                    LightItems[i].SetActive(false);
                }

                return;
            }
            _runTime += Time.fixedDeltaTime;
        }
Exemple #3
0
        //出现n个选中水果的动画图标
        private void GoodLuckAnimMultiShow()
        {
            if (_runTime > 2f)
            {
                itemAnim_run();
            }

            if (_runTime > 7 && (_itemPosI / 2 == SlotInfo.GoodLuckPoints[goodLuckIdx]) && goodLuckIdx < SlotInfo.GoodLuckPoints.Count)
            {
                List <int> itemIlist = SlotInfo.GoodLuckPoints;

                //Debug.Log("box_i:" + itemIlist[goodLuckIdx]);
                BoxShiningGobs[itemIlist[goodLuckIdx]].SetActive(true);

                //视觉上取消最后一个框,不与跑马灯所在的框重合
                if (goodLuckIdx < SlotInfo.GoodLuckPoints.Count - 1)
                {
                    BoxShiningGobs[itemIlist[goodLuckIdx]].GetComponentInChildren <Image>().enabled = true;
                }

                //BoxShiningGobs[itemIlist[goodLuckIdx]].GetComponent<BoxShining>().TimeRate = 0.1f;
                //BoxShiningGobs[itemIlist[goodLuckIdx]].GetComponent<BoxShining>().ChangeBoxColor(new Color(1f, 1f, 0));

                goodLuckIdx++;

                if (goodLuckIdx < SlotInfo.GoodLuckPoints.Count)
                {
                    _runTime = 0;

                    //隐藏尾迹
                    for (int i = 1; i < LightItems.Length; i++)
                    {
                        LightItems[i].SetActive(false);
                    }

                    return;
                }
                else
                {
                    goodLuckIdx    = 0;
                    _itemAnimState = ItemAnimState.Fresh;
                    eve_shakeBtnFrame(this, EventArgs.Empty);
                }

                //隐藏尾迹
                for (int i = 1; i < LightItems.Length; i++)
                {
                    LightItems[i].SetActive(false);
                }

                return;
            }
            _runTime += Time.fixedDeltaTime;
        }
Exemple #4
0
 protected void PlayAnimstateEnd()
 {
     _itemAnimState = ItemAnimState.End;
     if (_speedRate > 50)
     {
         _speedRate = 50;
     }
     for (int i = 1; i < LightItems.Length; i++)
     {
         LightItems[i].SetActive(false);
     }
 }
Exemple #5
0
        private void CasinoRunEnd()
        {
            if (_speedRate > 10)
            {
                _speedRate -= 1.3f;
            }
            else
            {
                _speedRate = 10f;
            }

            _runTime += Time.fixedDeltaTime;
            //随机滚动数字时间到
            if (_runTime >= 3)
            {
                var gdata  = App.GameData;
                var player = gdata.GetPlayer();
                _runTime       = 0;
                _itemAnimState = ItemAnimState.Fresh;
                //SetTextNum(CasinoText, SlotInfo.CasinoNum);   //--last version
                this.numToImage(SlotInfo.CasinoNum);

                /*                //如果赢得比大小则翻倍奖金
                 *              if (slotInfo.IsWinTheCasino)
                 *              {
                 *                  long curWinMoney = SlotInfo.GetWinMoney();
                 *                  SlotInfo.SetWinMoney(curWinMoney*2);
                 *
                 *              }
                 *              else//否则奖金清零
                 *              {
                 *                  //Debug.Log("奖金清零");
                 *                  SlotInfo.SetWinMoney(0);
                 *              }*/
                _casinoRunEnd = null;
                CancelInvoke("PlayDiuDiu");
                if (player.WinCoin > 0)
                {
                    PlayBswinSound();
                    eve_Win(this, EventArgs.Empty);
                    player.Coin = player.Coin;
                }
                else
                {
                    PlayChiDiao();
                    eve_Lose(this, EventArgs.Empty);
                }
            }
        }
Exemple #6
0
        private void OnStartClick(GameObject gob)
        {
            if (_itemAnimState != ItemAnimState.Sleep)
            {
                return;
            }
            var gdata  = App.GetGameData <FruitGameData>();
            var player = gdata.GetPlayer();

            Facade.Instance <MusicManager>().Play("button");
            if (player.WinCoin > 0)
            {
                App.GetRServer <FruitGameServer>().SendRestart();
                return;
            }
            FruitSlotInfoCtrl.HasClearFruitList = false;

            var dict         = new Dictionary <FruitType, int>();
            var fruitSlotDic = SlotInfo.FruitSlotList;
            int useMoney     = 0;

            foreach (var fruitkey in fruitSlotDic.Keys)
            {
                useMoney += fruitSlotDic[fruitkey] * gdata.Ante;
                if (useMoney > player.Coin)
                {
                    YxMessageBox.Show("您的金币不足!!!");
                    return;
                }
                dict[fruitkey] = fruitSlotDic[fruitkey];
            }

            if (useMoney <= 0)
            {
                return;
            }
            _itemAnimState = ItemAnimState.Start;
            //点击开始按钮后,不允许押注了
            _slotInfo.SlotEnable = false;
            player.Coin         -= useMoney;
            player.WinCoin       = 0;
            //执行押注play逻辑
            App.GetRServer <FruitGameServer>().SendYazhuPlay(dict);
        }
Exemple #7
0
        // Use this for initialization
        protected void Start()
        {
            //事件绑定
            eve_Win           += DisPlayDxResult.getInstance().onBdxWin;
            eve_Lose          += DisPlayDxResult.getInstance().onBdxLose;
            eve_Win           += NewLightsBlink.getInstance().onWinLights;
            eve_Lose          += NewLightsBlink.getInstance().onLoseLights;
            eve_run           += NewLightsBlink.getInstance().onRunLights;
            eve_End           += NewLightsBlink.getInstance().onEndLights;
            eve_shakeBtnFrame += NewLightsBlink.getInstance().CtrlBtnFrameShake;

            _itemAnimState = ItemAnimState.Sleep;
            foreach (var item in LightItems)
            {
                item.SetActive(false);
            }
            //for (int i = 0; i < LightItems.Length; i++)
            //{
            //    LightItems[i].SetActive(false);

            //}
            LightItems[0].GetComponent <Image>().rectTransform.localPosition = new Vector3(_boxPosList[0], _boxPosList[1]);
            _startBtn = GameObject.Find("startButton");
            //绑定开始按钮
            EventTriggerListener.Get(_startBtn).OnClick = OnStartClick;

            //绑定加倍减半按钮
            EventTriggerListener.Get(HalfBtn).OnClick  = OnHalfBtnClick;
            EventTriggerListener.Get(DoublBtn).OnClick = OnDoubleBtnClick;
            EventTriggerListener.Get(ClearBtn).OnClick = OnClearBtnClick;

            _btnBig   = GameObject.Find("btn_big");
            _btnSmall = GameObject.Find("btn_Small");
            //比大小按钮
            EventTriggerListener.Get(_btnBig).OnClick   = OnBtnBigClick;
            EventTriggerListener.Get(_btnSmall).OnClick = OnBtnSmallClick;
            //slotInfo.GameState = itemAnimState;//获得游戏当前的状态
            InitGoodLuckAnimBoxes();
        }
Exemple #8
0
        private void OnBtnSmallClick(GameObject gob)
        {
            if (_itemAnimState != ItemAnimState.Sleep)
            {
                return;
            }
            var gdata   = App.GameData;
            var player  = gdata.GetPlayer();
            var winCoin = player.WinCoin;

            Facade.Instance <MusicManager>().Play("button");
            _casinoRunEnd = null;
            if (_itemAnimState != ItemAnimState.Sleep || winCoin <= 0)
            {
                return;
            }
            _itemAnimState = ItemAnimState.Casino;
            _timeScale     = TimeLength;
            _speedRate     = 100f;
            _runTime       = 0;
            App.GetRServer <FruitGameServer>().SendBiDxPlay((int)winCoin, 0);
            InvokeRepeating("PlayDiuDiu", 0, 0.3f);
        }
Exemple #9
0
        private void itemAnim_FinalEnd(int fixitemi)
        {
            // Debug.Log("fixItemI: " + fixitemi);
            // Debug.Log("itemPos_i / 2: " + itemPos_i / 2);

            float fiexdDeltTime = Time.fixedDeltaTime;

            if (_timeScale > 0)
            {
                //float distance = Mathf.Abs(fixitemi - (_itemPosI / 2)) * 5f;  //--该bug导致:distance可能越来越大从而灯的速度降不下来
                float distance = (fixitemi - (_itemPosI / 2)) * 5f > 0 ? (fixitemi - (_itemPosI / 2)) * 5f
                   : (24 - _itemPosI / 2 + fixitemi) * 5f;

                if (distance <= _speedRate)
                {
                    _speedRate = distance;
                }

                if (_speedRate < 16f)
                {
                    _speedRate = 3f;
                }



                _timeScale -= fiexdDeltTime * _speedRate;
                //Debug.LogError("itemPos_i" + itemPos_i);
                if (_itemPosI / 2 == fixitemi)
                {
                    //test

                    /*                bool test = true;
                     *              _randType = 1;
                     *              SlotInfo.GoodLuckPoints.Add(1); SlotInfo.GoodLuckPoints.Add(3); SlotInfo.GoodLuckPoints.Add(7);
                     *              PlayW2Sound();*/

                    _runTime = 0;
                    if (fixitemi == _slotInfo.LuckPointLeft || fixitemi == _slotInfo.LuckPointRight)
                    {
                        switch (_randType)
                        {
                        case 0:
                        {
                            admitShow      = true;
                            _itemAnimState = ItemAnimState.GoodLuck;
                            break;
                        }

                        case 1:
                        {
                            //炮火车
                            _itemAnimState = ItemAnimState.RunchooInit;
                            break;
                        }
                        }

                        if (_playWinSound != null)
                        {
                            _playWinSound();
                        }

                        return;
                    }


                    BoxShiningGobs[fixitemi].SetActive(true);
                    //BoxShiningGobs[fixitemi].GetComponent<BoxShining>().TimeRate = 0.1f;
                    //BoxShiningGobs[fixitemi].GetComponent<BoxShining>().ChangeBoxColor(new Color(1f, 1f, 0));
                    _itemAnimState = ItemAnimState.Fresh;
                    eve_shakeBtnFrame(this, EventArgs.Empty);
                    if (_playWinSound != null)
                    {
                        _playWinSound();
                    }
                }
            }
            else
            {
                LightItems[0].SetActive(true);
                LightItems[0].GetComponent <Image>().rectTransform.localPosition = new Vector3(_boxPosList[_itemPosI], _boxPosList[_itemPosI + 1]);



                if (_itemPosI < _boxPosList.Length - 2)
                {
                    _itemPosI += 2;
                }
                else
                {
                    _itemPosI = 0;
                }
                PlayDingSds();
                _timeScale = TimeLength;
            }
        }
Exemple #10
0
        // FixedUpdate is called once per time
        protected void FixedUpdate()
        {
            switch (_itemAnimState)
            {
            case ItemAnimState.Sleep:
            {
                _slotInfo.SlotEnable = true;
                break;
            }

            case ItemAnimState.Start:
            {
                //发事件=>控制下新灯泡
                eve_run(this, EventArgs.Empty);

                //隐藏goodluck闪烁box
                foreach (var t in BoxShiningGobs)
                {
                    //t.GetComponent<BoxShining>().ResetBox();
                    t.SetActive(false);
                    t.GetComponentInChildren <Image>().enabled = false;
                }

                _slotInfo.SlotEnable = false;

                _itemAnimState = ItemAnimState.Run;
                _timeScale     = TimeLength;
                _speedRate     = 1f;
                LightItems[0].SetActive(true);
                _runTime = 0;
                //CasinoText.GetComponent<Text>().text = "00";//清零上次比大小的数值显示  --last version
                this.numToImage(0);
                break;
            }

            case ItemAnimState.Run:
            {
                _slotInfo.SlotEnable = false;
                itemAnim_run();
                break;
            }

            case ItemAnimState.End:
            {
                _slotInfo.SlotEnable = false;
                itemAnim_end(SlotInfo.LotteryPoint);        //里面参数设置指定中奖的水果
                break;
            }

            case ItemAnimState.FinalEnd:
            {
                //发事件=>控制下新灯泡
                eve_End(this, EventArgs.Empty);

                itemAnim_FinalEnd(SlotInfo.LotteryPoint);
                break;
            }

            //运行比大小的动画状态
            case ItemAnimState.Casino:
            {
                CasinoRun();
                break;
            }

            case ItemAnimState.GoodLuck:
            {
                StartCoroutine(showOneTime());
                GoodLuckAnimMultiShow();
                break;
            }

            //炮火车准备
            case ItemAnimState.RunchooInit:
            {
                _itemAnimState = ItemAnimState.RunchooShining;
                _runTime       = 0;
                foreach (var t in BoxShiningGobs)
                {
                    t.SetActive(true);
                }
                PlayTrainSound();
                break;
            }

            //炮火车闪烁
            case ItemAnimState.RunchooShining:
            {
                _runTime += Time.fixedDeltaTime;
                if (_runTime > 1.5f)
                {
                    _runTime       = 0;
                    _speedRate     = 60;
                    _itemAnimState = ItemAnimState.Runchoo;
                    foreach (var t in BoxShiningGobs)
                    {
                        t.GetComponentInChildren <Image>().enabled = false;
                        t.SetActive(false);
                    }
                }


                break;
            }

            //跑火车
            case ItemAnimState.Runchoo:
            {
                itemAnim_run();

                RunChooAnimEnd();


                break;
            }

            case ItemAnimState.Fresh:
            {
                var gdata    = App.GameData;
                var player   = gdata.GetPlayer();
                var userInfo = player.GetInfo <YxBaseGameUserInfo>();
                player.Coin    = userInfo.CoinA;
                player.WinCoin = userInfo.WinCoin;
                _itemAnimState = ItemAnimState.Sleep;
                Facade.EventCenter.DispatchEvent <string, object>("AnimStateFresh");
                break;
            }
            }
        }