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); }
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; } }