Пример #1
0
 public void StopLine(LineStopCompleted _onLinesAllStopped)
 {
     foreach (Animator speedLine in m_speedLines)
     {
         speedLine.SetTrigger("Off");
     }
     StartCoroutine(WaitForLineAnimationsToFinish(_onLinesAllStopped));
 }
Пример #2
0
        public IEnumerator WaitForLineAnimationsToFinish(LineStopCompleted _onLinesAllStopped)
        {
            m_tryingToStop = true;
            bool areAllLinesStopped = false;

            while (!areAllLinesStopped)
            {
                areAllLinesStopped = true;
                foreach (Animator speedLine in m_speedLines)
                {
                    if (speedLine.GetCurrentAnimatorStateInfo(0).fullPathHash != IDLE_ANIMATION_HASH)
                    {
                        areAllLinesStopped = false;
                        break;
                    }
                }
                yield return(0);
            }
            m_tryingToStop = false;
            _onLinesAllStopped?.Invoke();
        }