Example #1
0
        /// <summary>
        /// 初始化记录面板
        /// </summary>
        /// <param name="recordsD"></param>
        /// <param name="recordsI"></param>
        /// <param name="scoresD"></param>
        public void InitHistory(int[] recordsD, int recordsI, int[] scoresD)
        {
            //Debug.LogError("recordsD.Length:" + recordsD.Length);
            //目前服務器上返的值为40,前端只有24个记录位置,ScoresD依然是8个
            recordsD = recordsD.Skip(0).Take(24).ToArray();  //截取24个=>数组第一位对应的是最后出的奖
            if (recordsI > 23)
            {
                recordsI = 23;
            }

            ScoresDatas  = scoresD;
            RecordsDatas = recordsD;
            RecordsIndex = recordsI;
            PageIndex    = 0;

            for (int i = 0; i < Wheel.GetInstance().ItemsValue.Length; i++)
            {
                Scores[i].transform.FindChild("Sprite").transform.GetComponent <UISprite>().spriteName = "car_" + (int)Wheel.GetInstance().ItemsValue[i];
                Scores[i].transform.FindChild("Sprite").transform.GetComponent <UISprite>().MakePixelPerfect();
                Scores[i].transform.FindChild("Sprite").transform.localScale = new Vector3(0.4f, 0.4f, 1f);
                Scores[i].transform.FindChild("Label").transform.GetComponent <UILabel>().text = ScoresDatas[i].ToString();
            }

            for (int i = 0; i < RecordsDatas.Length; i++)
            {
                int index = i > RecordsIndex ? RecordsDatas.Length + RecordsIndex - i : RecordsIndex - i;
                Records[index].spriteName = "car_" + (RecordsDatas[i] % ScoresDatas.Length);
                Records[index].MakePixelPerfect();
                Records[index].transform.localScale = new Vector3(0.4f, 0.4f, 1f);
            }

            RefreshPage();
        }
Example #2
0
        /// <summary>
        /// 刷新界面
        /// </summary>
        public void RefreshHistory()
        {
            for (int i = 0; i < Wheel.GetInstance().ItemsValue.Length; i++)
            {
                Scores[i].transform.FindChild("Label").transform.GetComponent <UILabel>().text = ScoresDatas[i].ToString();
            }

            for (int i = 0; i < RecordsDatas.Length; i++)
            {
                int index = i > RecordsIndex ? RecordsDatas.Length + RecordsIndex - i : RecordsIndex - i;
                //YxDebug.Log("I == " + i + " Index == " + index);
                Records[index].spriteName = "car_" + (RecordsDatas[i] % ScoresDatas.Length);
                Records[index].MakePixelPerfect();
                Records[index].transform.localScale = new Vector3(0.4f, 0.4f, 1f);
            }

            RefreshPage();
        }
Example #3
0
        public void OnDrawFinish()
        {
            int     betint  = LuckIndex % Wheel.GetInstance().ItemsValue.Length;
            BetType betT    = (BetType)betint;
            BetType doubleT = BetType.BMFP;

            if ((int)betT < 4)
            {
                doubleT = (BetType)8;
            }
            else
            {
                doubleT = (BetType)9;
            }

            RegionsDic[betT].PlayLuckAnim();

            RegionsDic[doubleT].PlayLuckAnim();
        }
Example #4
0
        public override void GameResponseStatus(int type, ISFSObject response)
        {
            YxDebug.Log("Request == " + (RequestType)type);
            if (response.ContainsKey("playerlist"))
            {
                BankerMgr.RefreshPlayerList(response.GetUtfStringArray("playerlist"));
            }

            switch ((RequestType)type)
            {
            case RequestType.Bet:
                if (response.ContainsKey("golds"))      // -- 统一走else逻辑
                {
                    YxDebug.Log("收到重复上轮");
                    var golds = response.GetIntArray("golds");
                    var seat  = response.GetInt("seat");
                    if (seat == App.GameData.SelfSeat)
                    {
                        RightBottomMgr.LastTime.isEnabled = true;
                    }

                    for (int i = 0; i < golds.Length; i++)
                    {
                        AddBet(golds[i], i, seat, true);
                    }
                }
                else
                {
                    int p    = response.GetInt("p");
                    int gold = response.GetInt("gold");
                    int seat = response.GetInt("seat");
                    AddBet(gold, p, seat);
                }
                break;

            case RequestType.Reward:
                break;

            case RequestType.ApplyBanker:
                break;

            case RequestType.ApplyQuit:
                break;

            case RequestType.BeginBet:
                CanQuit = true;
                Loading.SetActive(false);
                RightBottomMgr.CurNum++;
                ResultManager.GetInstance().CloseResult();
                ClearAllBet();
                BetManager.GetInstance().IsBeginBet = true;
                StartCountNum();
                Wheel.GetInstance().Selected.GetComponent <TweenAlpha>().enabled = false;
                Wheel.GetInstance().Selected.GetComponent <TweenAlpha>().value   =
                    Wheel.GetInstance().Selected.GetComponent <TweenAlpha>().from;

                break;

            case RequestType.EndBet:
                Loading.SetActive(false);
                BetManager.GetInstance().IsBeginBet = false;
                //开始摇奖
                Wheel.GetInstance().StartTrun();

                RefreshRepeatData(RightBottomMgr.UpBetValue.ToArray());

                break;

            case RequestType.GiveCards:
                int carIndex = response.GetInt("carInx");

                //针对超过20的服务器反馈进行处理
                if (carIndex >= 20 && Wheel.GetInstance().Items.Length <= 20)      //=>条件2考虑兼容问题
                {
                    carIndex = carIndex % 8;
                }

                LuckIndex = carIndex;
                Wheel.GetInstance().StopTrun(carIndex, OnDrawFinish);
                break;

            case RequestType.Result:
                CanQuit = true;
                Loading.SetActive(false);
                RightBottomMgr.RefreshLastTimeBtn();
                if (!BankerMgr.IsBanker(-1))
                {
                    BankerMgr.Banker.WinTotalCoin += response.GetInt("bankWin");
                    var bankerCoin = "¥" + YxUtiles.ReduceNumber(BankerMgr.Banker.WinTotalCoin);
                    BankerMgr.Banker.WinTotalCoinLabel.Text(bankerCoin);
                }
                var self = App.GameData.GetPlayer();
                self.Coin          = response.GetLong("total");
                self.WinTotalCoin += response.GetInt("win");

                YxDebug.Log("---------结算-----------");
                ResultManager.GetInstance().OpenResult(response);
                HistoryRecord.GetInstance().RefreshData(response.GetInt("carInx"), 1);
                //YxDebug.Log("result");
                break;

            case RequestType.BankerList:
                //UserManager.GetInstance().BankerSeat = response.GetInt("banker");
                if (response.GetInt("banker") == -1)
                {
                    BankerMgr.SetBankerInfo(null);
                }
                BankerMgr.RefreshBankerList(response.GetSFSArray("bankers"), response.GetInt("banker"));
                break;

            default:
                YxDebug.Log("不存在的服务器交互!");
                break;
            }
        }