예제 #1
0
        /// <summary>
        /// 将请求项缓存
        /// </summary>
        /// <param name="roleID"></param>
        /// <param name="teamID"></param>
        /// <returns></returns>
        public void AddTeamRequestItem(int roleID, int teamID, int requestType)
        {
            string          key             = string.Format("{0}_{1}_{2}", roleID, teamID, requestType);
            TeamRequestItem teamRequestItem = new TeamRequestItem()
            {
                ToRoleID     = roleID,
                RequestTicks = (DateTime.Now.Ticks / 10000),
            };

            lock (_TeamRequestDict)
            {
                _TeamRequestDict[key] = teamRequestItem;
            }
        }
예제 #2
0
        public void AddTeamRequestItem(int roleID, int teamID, int requestType)
        {
            string          key             = string.Format("{0}_{1}_{2}", roleID, teamID, requestType);
            TeamRequestItem teamRequestItem = new TeamRequestItem
            {
                ToRoleID     = roleID,
                RequestTicks = TimeUtil.NOW()
            };

            lock (this._TeamRequestDict)
            {
                this._TeamRequestDict[key] = teamRequestItem;
            }
        }
예제 #3
0
        public bool CanAddToTeam(int roleID, int teamID, int requestType)
        {
            TeamRequestItem teamRequestItem = null;
            string          key             = string.Format("{0}_{1}_{2}", roleID, teamID, requestType);

            lock (this._TeamRequestDict)
            {
                if (!this._TeamRequestDict.TryGetValue(key, out teamRequestItem))
                {
                    return(true);
                }
            }
            long ticks = TimeUtil.NOW();

            return(ticks - teamRequestItem.RequestTicks >= 35000L);
        }
예제 #4
0
        /// <summary>
        /// 是否能加入队伍
        /// </summary>
        /// <param name="roleID"></param>
        /// <param name="teamID"></param>
        /// <returns></returns>
        public bool CanAddToTeam(int roleID, int teamID, int requestType)
        {
            TeamRequestItem teamRequestItem = null;
            string          key             = string.Format("{0}_{1}_{2}", roleID, teamID, requestType);

            lock (_TeamRequestDict)
            {
                if (!_TeamRequestDict.TryGetValue(key, out teamRequestItem))
                {
                    return(true);
                }
            }

            long ticks = DateTime.Now.Ticks / 10000;

            if ((ticks - teamRequestItem.RequestTicks) >= (35 * 1000))
            {
                return(true);
            }

            return(false);
        }