/// <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); }
/// <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); }