public void StopLine(LineStopCompleted _onLinesAllStopped) { foreach (Animator speedLine in m_speedLines) { speedLine.SetTrigger("Off"); } StartCoroutine(WaitForLineAnimationsToFinish(_onLinesAllStopped)); }
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(); }