| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | 
							- using UnityEngine.Timeline;
 
- namespace UnityEditor.Timeline
 
- {
 
-     static class TimeReferenceUtility
 
-     {
 
-         static WindowState state { get { return TimelineWindow.instance.state; } }
 
-         public static double SnapToFrame(double time)
 
-         {
 
-             if (state.timeReferenceMode == TimeReferenceMode.Global)
 
-             {
 
-                 time = state.editSequence.ToGlobalTime(time);
 
-                 time = TimeUtility.RoundToFrame(time, state.referenceSequence.frameRate);
 
-                 return state.editSequence.ToLocalTime(time);
 
-             }
 
-             return TimeUtility.RoundToFrame(time, state.referenceSequence.frameRate);
 
-         }
 
-         public static string ToTimeString(double time, string format = "F2")
 
-         {
 
-             if (state.timeReferenceMode == TimeReferenceMode.Global)
 
-                 time = state.editSequence.ToGlobalTime(time);
 
-             return state.editSequence.viewModel.timeInFrames ?
 
-                 TimeUtility.TimeAsFrames(time, state.referenceSequence.frameRate, format) :
 
-                 TimeUtility.TimeAsTimeCode(time, state.referenceSequence.frameRate, format);
 
-         }
 
-         public static double FromTimeString(string timeString)
 
-         {
 
-             double newTime;
 
-             if (state.timeInFrames)
 
-             {
 
-                 double newFrameDouble;
 
-                 if (double.TryParse(timeString, out newFrameDouble))
 
-                     newTime = TimeUtility.FromFrames(newFrameDouble, state.referenceSequence.frameRate);
 
-                 else
 
-                     newTime = state.editSequence.time;
 
-             }
 
-             else
 
-             {
 
-                 newTime = TimeUtility.ParseTimeCode(timeString, state.referenceSequence.frameRate, -1);
 
-             }
 
-             if (newTime >= 0.0)
 
-             {
 
-                 return state.timeReferenceMode == TimeReferenceMode.Global ?
 
-                     state.editSequence.ToLocalTime(newTime) : newTime;
 
-             }
 
-             return state.editSequence.time;
 
-         }
 
-     }
 
- }
 
 
  |