static void OnEnterLobby(byte[] data, Action5001 action) { LoginResponse userInfoData = null; userInfoData = ProtoBufUtils.Deserialize <LoginResponse>(data); GameSession session = action.GetActionGetter().GetSession(); string key = string.Format("{0}", userInfoData.UserID); PlayerInfo playerInfo = CacheSet.PlayerInfoCache.FindKey(key); if (session == null) { return; } if (playerInfo == null) { playerInfo = new PlayerInfo(); playerInfo.UserId = userInfoData.UserID; playerInfo.NickName = userInfoData.NickName; CacheSet.PlayerInfoCache.Add(playerInfo); } PlayerManager.Instance.AddPlayer(userInfoData.UserID, session, playerInfo); EnterLobbyResponse enterLobby = new EnterLobbyResponse(); enterLobby.UserID = playerInfo.UserId; enterLobby.NickName = playerInfo.NickName; enterLobby.Level = playerInfo.Level; enterLobby.Exp = playerInfo.Exp; enterLobby.Money = playerInfo.Money; byte[] responseData = ProtoBufUtils.Serialize(enterLobby); action.SetResponseData(responseData); }
private void EnterLobbyCallback(byte[] result) { if (result == null) { return; } EnterLobbyResponse enterLobby = ProtoBufUtils.Deserialize <EnterLobbyResponse>(result); MessageSystem.Instance.MsgDispatch(MessageType.SetPlayerInfo, enterLobby.NickName, enterLobby.Level); }