示例#1
0
        DTOBuffPoolView CreateBuffView()
        {
            var data = new DTOBuffPoolView();

            data.CreateTime = DateTime.Now;
            return(data);
        }
示例#2
0
        DTOBuffMemberView GetMembers4Mem(out ManagerSkillUseWrap use, out DTOBuffPoolView poolView, Guid managerId, string siteId, ArenaTeammemberFrame arenaFrame)
        {
            use      = ManagerUtil.GetSkillUseWrap(managerId, siteId);
            poolView = BuffPoolCore.Instance().GetRawPools(managerId, siteId, true);
            bool syncFlag = true;

            if (FrameConfig.SWAPBuffDisableCrossCache && !string.IsNullOrEmpty(siteId))
            {
                syncFlag = false;
            }
            ulong    verNo = use.VersionNo;
            DateTime dtNow = DateTime.Now;

            if (verNo == 0 || dtNow >= poolView.SyncTime)
            {
                if (syncFlag)
                {
                    s_buffSync.SyncBuffPools(managerId, siteId);
                }
                return(null);
            }
            var data = s_memBuffMember.Get <DTOBuffMemberView>(arenaFrame.ArenaType.ToString() + managerId.ToString());

            if (null != data &&
                data.UseSyncVersion == verNo &&
                data.PoolSyncTime == poolView.SyncTime &&
                data.PoolSyncVersion == poolView.SyncVersion)
            {
                return(data);
            }
            return(null);
        }
示例#3
0
        public static void ProcManagerBuff(DTOBuffPack buffPack, bool homeFlag, DTOBuffPoolView poolView = null)
        {
            Guid managerId = buffPack.GetMid(homeFlag);
            var  pools     = BuffPoolCore.Instance().GetBuffSource(managerId, EnumBuffUnitType.PlayerProp, true, poolView);

            ProcBuffPool(buffPack, homeFlag, Guid.Empty, pools);
        }
示例#4
0
        public int GetManagerClothId(Guid managerId, DTOBuffPoolView rawPools = null)
        {
            var buffSrc = GetBuffSource(managerId, "M100", true, rawPools);

            if (null == buffSrc || buffSrc.Count == 0)
            {
                return(0);
            }
            return(buffSrc[0].SkillLevel);
        }
示例#5
0
        /// <summary>
        /// 获取源Buff
        /// </summary>
        /// <param name="managerId">经理Id</param>
        /// <param name="unitType">Buff细分类型</param>
        /// <param name="syncFlag">缓存标记</param>
        /// <returns></returns>
        public List <NbManagerbuffpoolEntity> GetBuffSource(Guid managerId, EnumBuffUnitType unitType = EnumBuffUnitType.None, bool syncFlag = true, DTOBuffPoolView rawPools = null)
        {
            if (null == rawPools)
            {
                rawPools = GetRawPools(managerId, "", syncFlag);
            }
            if (null == rawPools || null == rawPools.BuffPools)
            {
                return(null);
            }
            if (unitType == EnumBuffUnitType.None)
            {
                return(rawPools.BuffPools);
            }
            DateTime dtNow = DateTime.Now;

            return(rawPools.BuffPools.FindAll(i => (i.BuffUnitType & (int)unitType) > 0 && (i.ExpiryTime > dtNow || (i.ExpiryTime == DATEInfi && i.RemainTimes != 0))));
        }
示例#6
0
        /// <summary>
        /// 获取源Buff
        /// </summary>
        /// <param name="managerId">经理Id</param>
        /// <param name="skillCode">技能Code</param>
        /// <param name="syncFlag">缓存标记</param>
        /// <param name="rawPools"></param>
        /// <returns></returns>
        public List <NbManagerbuffpoolEntity> GetBuffSource(Guid managerId, string skillCode, bool syncFlag = true, DTOBuffPoolView rawPools = null)
        {
            if (null == rawPools)
            {
                rawPools = GetRawPools(managerId, "", syncFlag);
            }
            if (null == rawPools || null == rawPools.BuffPools)
            {
                return(null);
            }
            DateTime dtNow = DateTime.Now;

            return(rawPools.BuffPools.FindAll(i => i.SkillCode == skillCode && i.ExpiryTime > dtNow));
        }