private void UpdateAnimator(int i_Index) { if (m_Timers == null || m_UIAnimators == null) { return; } if (i_Index < 0 || i_Index >= m_UIAnimators.Length || i_Index >= m_Timers.Length) { return; } UIAnimatorEntry entry = m_UIAnimators[i_Index]; if (entry == null) { return; } Animator animator = entry.animator; if (animator == null) { return; } AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); if (stateInfo.shortNameHash == s_IdleState) { if (m_Timers[i_Index] < 0f) { m_Timers[i_Index] = entry.delay; } else { m_Timers[i_Index] -= Time.deltaTime; if (m_Timers[i_Index] < 0f) { animator.SetTrigger(s_PlayTrigger); } } } }
// INTERNALS private void ClearAnimatorsState() { if (m_UIAnimators != null) { for (int index = 0; index < m_UIAnimators.Length; ++index) { UIAnimatorEntry entry = m_UIAnimators[index]; if (entry != null) { Animator animator = entry.animator; if (animator != null) { animator.CrossFade(s_IdleState, 0f); } } } } }
private void ResetTimers() { if (m_Timers == null || m_UIAnimators == null) { return; } for (int index = 0; index < m_Timers.Length; ++index) { if (index < m_UIAnimators.Length) { UIAnimatorEntry entry = m_UIAnimators[index]; if (entry != null) { m_Timers[index] = entry.delay; } } } }