Exemplo n.º 1
0
        /// <summary>判断前置技能是否学习及前置技能等级是否足够</summary>
        public bool IsStudied(BaseLifeSkill base_life, string condition, ICollection <int> list, tg_role_life_skill life)
        {
            if (condition.Length == 0)
            {
                return(true);
            }
            var ids = SkillBeforePracticeSplit(condition);//前置技能id集合

            if (ids.Count == 0)
            {
                return(false);
            }
            foreach (var item in ids)
            {
                var id = list.FirstOrDefault(m => m == item);
                if (id > 0)
                {
                    var type = GetSkillType(id);
                    var st   = GetSkillLevel(type, life);
                    if (st.level < base_life.conditionLevel)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }
Exemplo n.º 2
0
        /// <summary>更改后置技能状态</summary>
        /// <returns>生活技能实体</returns>
        public tg_role_life_skill SkillStateChange(BaseLifeSkill baselife, tg_role_life_skill life)
        {
            var ids = SkillBeforePracticeSplit(baselife.studypostposition);//后置技能id集合

            ids = GetNoShoolIds(ids, life);
            if (ids.Count > 0)
            {
                var st = GetSkillLevel(baselife.type, life);
                life = SkillStateChange(ids, life, st.level);
            }
            return(life);
        }