IEnumerator SetupMotion(MotionGroup motion) { while (motionCoroutine != null) { yield return(null); } motionCurrent = motion; motionCoroutine = StartCoroutine(YieldForMotion(motion)); }
IEnumerator YieldForMotion(MotionGroup motion) { if (motion.MotionRoutine != null) { yield return(motion.MotionRoutine); } if (motion.EndRoutine != null) { yield return(motion.EndRoutine); } motionCurrent = null; motionCoroutine = null; }
protected void StartMotionCoroutine(MotionGroup motion) { StopMotion(); StartCoroutine(SetupMotion(motion)); }