/// <summary> /// 使用技能 /// </summary> /// <param name="skillId">技能Id</param> /// <param name="tarGetRole()">目标角色</param> /// <param name="values">参数列表</param> /// <returns></returns> public bool Use(int skillId, params object[] values) { SkillBase skill = GetSkillById(skillId); if (skill == null) { Debug.LogError("技能不存在"); return(false); } if (skill.Level == 0) { Debug.LogError("该技能尚未学会"); return(false); } //如果玩家已经死亡 if (role.IsSurvive == 1) { //技能是否允许死亡状态下发动 if (!skill.IsDeal) { return(false); } } if (!skill.SkillCd()) { Debug.Log(skill.GetName() + ":技能正在冷却"); return(false); } if (IsDisable(skill)) { Debug.Log(skill.GetName() + ":已被禁用"); return(false); } if (!skill.CheckConsume()) { Debug.Log(skill.GetName() + ":释放条件不满足"); return(false); } if (!IsCancel(skill)) { return(false); } //技能基础释放条件 if (!skill.Limit()) { return(false); } return(skill.Use(values)); }