/// <summary>
        /// 返回用户信息,只有当前玩家需要处理   同时返回是否为断线重连,后续处理
        /// </summary>
        /// <returns></returns>
        public string Login(tb_User _tempuser, string accountid)
        {
            sc_login _senddata = new sc_login()
            {
                result = 1, fn = "sc_login", user = new PlayerInfoSD()
            };

            var cacheSet = new PersonalCacheStruct <tb_User>();

            _senddata.user.userid    = _tempuser.UserID;
            _senddata.user.uName     = _tempuser.wechatName;
            _senddata.user.Money     = (float)_tempuser.UserMoney;
            _senddata.user.accountId = accountid;
            _senddata.user.isagent   = _tempuser.isagent;
            _senddata.user._wechat   = new WechatInfoSD()
            {
                HeadIconURL = ToolsEx.IsHandlePhoto(_tempuser.isRobot, _tempuser.wechatHeadIcon), Sex = _tempuser.Sex, wechatName = _tempuser.wechatName
            };
            _tempuser.LastLotinTime2 = _tempuser.LastLotinTime1;
            _tempuser.LastLotinTime1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
            _tempuser.IP             = _strIPandPort;
            UserStatus _us = BaseLobby.instanceBase.GetUserStatusbyUserID(_tempuser.UserID);//获取是否需要断线重连

            if (_us != null)
            {
                _senddata.user.state = (int)_us.Status;
                _senddata.gameid     = _us.Gameid;
            }
            tb_UserEx.UpdateData(_tempuser);  //更新登录时间与IP
            return(JsonUtils.Serialize(_senddata));
        }
Exemple #2
0
        public static List <RankInfoSD> GetRankList()
        {
            List <RankInfoSD> _rankinfolist = new List <RankInfoSD>();
            var userCache = new GameDataCacheSet <tb_User>();

            tb_UserEx.RecoverFromDb("==", 0);
            var            userIds  = tb_UserEx.GetUserIdListByRobot(0);
            List <tb_User> userList = new List <tb_User>();

            foreach (var item in userIds)
            {
                tb_User user;
                userCache.TryFindKey(item.ToString(), out user);
                if (user != null)
                {
                    userList.Add(user);
                }
            }
            if (userList.Any())
            {
                var tempList = userList.OrderByDescending(w => w.diamond).Take(20).ToList();
                _rankinfolist = tempList.Select(w => new RankInfoSD {
                    userid = w.UserID, winScore = (int)w.diamond, uName = w.wechatName, rank = tempList.IndexOf(w) + 1, headurl = ToolsEx.IsHandlePhoto(w.isRobot, w.wechatHeadIcon)
                }).ToList();
            }
            return(_rankinfolist);
        }