/// <summary> /// 参数1的技能是否可以被当前打断 /// </summary> /// <returns></returns> public bool IsCancel(SkillBase skill) { //当前没有技能处于激活中 if (activeId == 0) { return(true); } //是当前技能 if (activeId == skill.GetId()) { if (skill.DoubleActive) { return(true); } else { return(false); } } SkillBase activeSkill = GetActiveSkill(); //无法找到当前激活的技能,允许释放其他技能 if (activeSkill == null) { return(true); } //目标技能是否可以被打断 if (!activeSkill.BeAllCancel && !skill.CancelList.Contains(activeId)) { return(false); } //强制结束技能 activeSkill?.End(); return(true); }