DTOBuffPoolView CreateBuffView() { var data = new DTOBuffPoolView(); data.CreateTime = DateTime.Now; return(data); }
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); }
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); }
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); }
/// <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)))); }
/// <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)); }