示例#1
0
 void SendMsg(Animator animator, string eventStr)
 {
     if ("" == eventStr)
     {
         return;
     }
     if (null != m_AnimCtrl)
     {
         m_AnimCtrl.AnimEvent(eventStr);
     }
     else
     {
         animator.gameObject.SendMessage("AnimatorEvent", eventStr, SendMessageOptions.DontRequireReceiver);
     }
 }
示例#2
0
    public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnStateUpdate(animator, stateInfo, layerIndex);

        for (int i = 0; i < m_Attacks.Length; i++)
        {
            if (m_Attacks[i].active)
            {
                if (stateInfo.normalizedTime >= m_Attacks[i].endTime)
                {
                    m_Attacks[i].active = false;
                    for (int j = 0; j < m_Attacks[i].triggers.Length; j++)
                    {
                        if (null == m_Attacks[i].triggers[j])
                        {
                            continue;
                        }
                        m_Attacks[i].triggers[j].active = false;
                        m_Attacks[i].triggers[j].ResetHitInfo();
                    }

                    if (null != m_AnimCtrl)
                    {
                        m_AnimCtrl.AnimEvent("MonsterEndAttack");
                    }
                    else
                    {
                        animator.gameObject.SendMessage("AnimatorEvent", "MonsterEndAttack", SendMessageOptions.DontRequireReceiver);
                    }
                }
                else if (!m_Attacks[i].playAttack && stateInfo.normalizedTime >= m_Attacks[i].startTime)
                {
                    m_Attacks[i].playAttack = true;
                    for (int j = 0; j < m_Attacks[i].triggers.Length; j++)
                    {
                        if (null == m_Attacks[i].triggers[j])
                        {
                            continue;
                        }
                        m_Attacks[i].triggers[j].active = true;
                    }
                }
            }
        }
    }