예제 #1
0
 void InvalidateScrubbingHelper()
 {
     if (m_ScrubbingCacheHelper != null)
     {
         m_ScrubbingCacheHelper.Release();
         m_ScrubbingCacheHelper = null;
     }
 }
예제 #2
0
 public void RegisterScrubbingWarning(VisualEffectControlTrackController controller, float requestedTime, float fixedTimeStep)
 {
     UnregisterScrubbingWarning(controller);
     m_ScrubbingWarnings.Add(new MaxScrubbingWarning()
     {
         controller    = controller,
         requestedTime = requestedTime,
         fixedTimeStep = fixedTimeStep
     });
 }
예제 #3
0
        public override void PrepareFrame(Playable playable, FrameData data)
        {
            if (m_Target == null)
            {
                return;
            }

            if (m_ScrubbingCacheHelper == null)
            {
                m_ScrubbingCacheHelper = new VisualEffectControlTrackController();

                VisualEffectControlTrack parentTrack = null;
#if UNITY_EDITOR
                parentTrack = m_ParentTrack;
#endif
                m_ScrubbingCacheHelper.Init(playable, m_Target, parentTrack);
            }

            var globalTime = playable.GetTime();
            var deltaTime  = data.deltaTime;
            m_ScrubbingCacheHelper.Update(globalTime, deltaTime);
        }
예제 #4
0
 public void UnregisterScrubbingWarning(VisualEffectControlTrackController controller)
 {
     m_ScrubbingWarnings.RemoveAll(o => o.controller == controller);
 }
예제 #5
0
 public void UnregisterControlTrack(VisualEffectControlTrackController controller)
 {
     UnregisterScrubbingWarning(controller);
     m_RegisteredControlTrack.RemoveAll(o => o == controller);
     UpdateConflictingControlTrack();
 }
예제 #6
0
 public void RegisterControlTrack(VisualEffectControlTrackController controller)
 {
     m_RegisteredControlTrack.Add(controller);
     UpdateConflictingControlTrack();
 }