Exemple #1
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;
            }
        }
Exemple #2
0
 void Awake()
 {
     _instance = this;
 }