public void ResetTriggers() { if (triggerStates == null) { return; } for (int i = 0; i < triggerStates.Count; i++) { AnimationTriggerState triggerState = triggerStates[i]; triggerState.fireCount = 0; triggerStates[i] = triggerState; } }
public void RunTriggers() { if (triggerStates == null) { return; } StyleAnimationEvent evt = new StyleAnimationEvent(AnimationEventType.Trigger, target, status, animationData.options); float progress = status.iterationProgress; for (int i = 0; i < triggerStates.Count; i++) { AnimationTriggerState triggerState = triggerStates[i]; if (progress >= triggerState.time && triggerState.fireCount == 0) { triggerState.fireCount++; triggerState.fn?.Invoke(evt); triggerStates[i] = triggerState; } } }