Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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);
            }
        }