/// <summary> /// 防守武将增加buff /// </summary> /// <param name="role"></param> /// <param name="type"></param> /// <param name="value"></param> /// <param name="usertype"></param> /// <param name="times"></param> private void DefenseRoleAddNewBuff(DefenseRoles role, int type, int value, int usertype, int times) { var buff = new WarFightSkillBuff() { type = type, value = value, times = times, usertype = usertype }; var repeatbuff = new WarFightSkillBuff(); //检测是否已经有该buff效果 repeatbuff = buff.usertype == (int)WarFightSkillType.Area ? role.buffs.FirstOrDefault(q => q.type == buff.type && q.usertype == buff.usertype) : role.buffs.FirstOrDefault(q => q.type == buff.type); if (repeatbuff == null) { role.buffs.Add(buff); } else { if (repeatbuff.value > buff.value) { return; } role.buffs.Remove(repeatbuff); role.buffs.Add(buff); } }
/// <summary> /// 防守武将增加buff /// </summary> /// <param name="role"></param> /// <param name="usertype"></param> /// <param name="times"></param> /// <param name="type"></param> /// <param name="value"></param> private void AttackRoleAddNewBuff(AttackRoles role, int type, int value, int usertype, int times) { var buff = new WarFightSkillBuff() { type = type, value = value, times = times, usertype = usertype }; var repeatbuff = new WarFightSkillBuff(); //检测是否已经有该buff效果 repeatbuff = role.buffs.FirstOrDefault(q => q.type == buff.type && q.usertype == buff.usertype); if (repeatbuff == null) //没有相同类型的buff { role.buffs.Add(buff); } else { if (repeatbuff.value > buff.value) { return; } role.buffs.Remove(repeatbuff); role.buffs.Add(buff); } }