using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class WaitForActionReachEnd : IEnumerator { UnitAnimation m_UnitAnimation; UnitAnimation.ELayer m_Layer; public WaitForActionReachEnd(UnitAnimation unitAnim, UnitAnimation.ELayer layer = UnitAnimation.ELayer.Basic) { m_UnitAnimation = unitAnim; m_Layer = layer; } public object Current => null; public bool MoveNext() { var stateInfo = m_UnitAnimation.layers[(int)m_Layer].stateInfo; float normalTime = stateInfo.normalizedTime; return normalTime < 1f; } public void Reset() { } }