Exemple #1
0
 /// <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);
 }
Exemple #2
0
    /// <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);
    }