Example #1
0
        private ISFSObject GetSendMsg(Msg msg)
        {
            ISFSObject iSFSObject = new SFSObject();
            NiuNiuProtobufSerializer niuNiuProtobufSerializer = new NiuNiuProtobufSerializer();
            MemoryStream             memoryStream             = new MemoryStream();

            niuNiuProtobufSerializer.Serialize(memoryStream, msg);
            byte[]    data      = memoryStream.ToArray();
            ByteArray byteArray = new ByteArray();

            byteArray.WriteBytes(data);
            iSFSObject.PutByteArray("data", byteArray);
            return(iSFSObject);
        }
Example #2
0
        public void OnExtensionRespones(ISFSObject sfsObj)
        {
            byte[] bytes = sfsObj.GetByteArray("data").Bytes;
            NiuNiuProtobufSerializer niuNiuProtobufSerializer = new NiuNiuProtobufSerializer();
            MemoryStream             source = new MemoryStream(bytes);
            Msg msg = niuNiuProtobufSerializer.Deserialize(source, null, typeof(Msg)) as Msg;

            switch (msg.msgType)
            {
            case Msg.MsgType.SyncInfo:
                GameMain.Instance.uiManager.pokerNum = sfsObj.GetInt("pokerNum");
                GameMain.Instance.uiManager.UpdatePokerNum();
                GameMain.Instance.uiManager.ShowRoomInfo(sfsObj.GetUtfString("site"), sfsObj.GetUtfString("roomIndex"));
                GameMain.Instance.uiManager.minDownBet = sfsObj.GetDouble("minDownBet");
                GameMain.Instance.uiManager.seatCoin   = sfsObj.GetDouble("seatCoin");
                GameMain.Instance.SyncServer(msg);
                break;

            case Msg.MsgType.GameState:
                GameMain.Instance.SetCurGameState(msg.gameState);
                break;

            case Msg.MsgType.Time:
                GameMain.Instance.uiManager.UpdateTime(msg.time);
                break;

            case Msg.MsgType.SitDownInfo:
                GameMain.Instance.uiManager.ShowSitDownPlayer(msg.allPlayer[0]);
                break;

            case Msg.MsgType.BankerInfo:
                GameMain.Instance.uiManager.ShowBankerTip(msg.bankerInfo.bankerSeat);
                GameDataManager.Instance.SetBankerData(msg.bankerInfo);
                GameMain.Instance.uiManager.UpdateBankerDownBet(msg.bankerInfo.curCoin, false);
                break;

            case Msg.MsgType.DownBetInfo:
                GameMain.Instance.uiManager.AcceptServerUpdateBetNums(msg.downBetInfo[0]);
                break;

            case Msg.MsgType.Card:
                GameDataManager.Instance.allCards = msg.allCards;
                break;

            case Msg.MsgType.UpdatePlayer:
                GameMain.Instance.uiManager.UpdatePlayerShow(msg.allPlayer[0]);
                break;

            case Msg.MsgType.BankerDownBet:
                GameMain.Instance.uiManager.UpdateBankerDownBet(msg.bankerDownBetCoin, true);
                break;

            case Msg.MsgType.PlayDice:
                GameMain.Instance.uiManager.PlayDiceAnim(msg.allDiceInfo[0], msg.allDiceInfo[1]);
                break;

            case Msg.MsgType.OpenPoker:
                for (int i = 0; i < msg.openPokerSeat.Count; i++)
                {
                    GameMain.Instance.uiManager.IsShowCowCount(true, msg.openPokerSeat[i], true);
                }
                break;

            case Msg.MsgType.ShowWin:
                for (int j = 0; j < msg.isWin.Count; j++)
                {
                    GameDataManager.Instance.IsWins[j] = msg.isWin[j];
                }
                GameMain.Instance.uiManager.IsShowCowMultiple(true);
                if (GameDataManager.Instance.isBanker)
                {
                    GameMain.Instance.uiManager.IsShowFengZhuangBtn(true);
                }
                break;

            case Msg.MsgType.RemovePlayer:
                GameMain.Instance.uiManager.RemovePlayer(msg.allPlayer[0]);
                break;

            case Msg.MsgType.JoinRoomPlayer:
                GameMain.Instance.uiManager.SetPlayerInfo(msg.allPlayer);
                break;

            case Msg.MsgType.Score:
                GameDataManager.Instance.score       = msg.allScore.selfScore;
                GameDataManager.Instance.bankerScore = msg.allScore.bankerScore;
                GameMain.Instance.uiManager.IsShowScore(true);
                break;

            case Msg.MsgType.BankerTip:
                GameMain.Instance.uiManager.IsShowBankerTip(true, msg.bankerTipNum);
                break;

            case Msg.MsgType.HideBanker:
                GameMain.Instance.uiManager.HideBankerShow();
                break;

            case Msg.MsgType.FeedbackTip:
                TipManager.Instance.ShowFeedbackTipsBar(msg.feedbackTip);
                break;

            case Msg.MsgType.GameChat:
                GameMain.Instance.uiManager.ShowGameChat(msg);
                break;
            }
        }