コード例 #1
0
ファイル: StyleAnimation.cs プロジェクト: veboys/UIForia
 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;
     }
 }
コード例 #2
0
ファイル: StyleAnimation.cs プロジェクト: veboys/UIForia
        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;
                }
            }
        }