Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
    private void EnterLobbyCallback(byte[] result)
    {
        if (result == null)
        {
            return;
        }
        EnterLobbyResponse enterLobby = ProtoBufUtils.Deserialize <EnterLobbyResponse>(result);

        MessageSystem.Instance.MsgDispatch(MessageType.SetPlayerInfo, enterLobby.NickName, enterLobby.Level);
    }