/// <summary> /// 确认包含防打断状态 /// </summary> public bool CheckInterruptStatus(StatusInterrupt status) { if (status == StatusInterrupt.Phy) { if ((m_AntiInterruptStatus & AntiInterruptStatus.Phy) == AntiInterruptStatus.Phy) { return(true); } else { return(false); } } else if (status == StatusInterrupt.Magic) { if ((m_AntiInterruptStatus & AntiInterruptStatus.Magic) == AntiInterruptStatus.Magic) { return(true); } else { return(false); } } return(false); }
/// <summary> /// 确认能否添加状态。(状态放打断机制) /// </summary> /// <returns>true :该状态会打断技能 false : 该状态不打断技能</returns> public bool CheckCanAddStatus(int ResalseSceneID, int SkillID, AttackType SkillType, SkillStatusInfo Info) { StatusInterrupt interrputtype = StatusInterrupt.Phy; if (SkillType == AttackType.Physical) { interrputtype = StatusInterrupt.Phy; } else if (SkillType == AttackType.Magic) { interrputtype = StatusInterrupt.Magic; } else { return(true); } StatusM Data = StatusFactory.Create(m_SceneID, ResalseSceneID, SkillID, Info); //打断的技能 if (Data != null /*&& Data.InterruptSkill() == true*/) { for (int i = 0; i < m_RoleStatus.Count; i++) { StatusM status = m_RoleStatus[i]; if (status == null) { continue; } if (status.CheckInterruptStatus(interrputtype) == true) { return(false); } } } return(true); }