You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.8 KiB
56 lines
1.8 KiB
namespace UnityEditor.Timeline |
|
{ |
|
partial class TimelineWindow |
|
{ |
|
void InitializeStateChange() |
|
{ |
|
state.OnPlayStateChange += OnPreviewPlayModeChanged; |
|
state.OnDirtyStampChange += OnStateChange; |
|
state.OnBeforeSequenceChange += OnBeforeSequenceChange; |
|
state.OnAfterSequenceChange += OnAfterSequenceChange; |
|
|
|
state.OnRebuildGraphChange += () => |
|
{ |
|
// called when the graph is rebuild, since the UI tree isn't necessarily rebuilt. |
|
if (!state.rebuildGraph) |
|
{ |
|
// send callbacks to the tacks |
|
if (treeView != null) |
|
{ |
|
var allTrackGuis = treeView.allTrackGuis; |
|
if (allTrackGuis != null) |
|
{ |
|
for (int i = 0; i < allTrackGuis.Count; i++) |
|
allTrackGuis[i].OnGraphRebuilt(); |
|
} |
|
} |
|
} |
|
}; |
|
|
|
state.OnTimeChange += () => |
|
{ |
|
if (EditorApplication.isPlaying == false) |
|
{ |
|
state.UpdateRecordingState(); |
|
EditorApplication.SetSceneRepaintDirty(); |
|
} |
|
|
|
if (state.ignorePreview && state.IsPlayableGraphDone()) |
|
state.Pause(); |
|
|
|
// the time is sync'd prior to the callback |
|
state.Evaluate(); // will do the repaint |
|
|
|
InspectorWindow.RepaintAllInspectors(); |
|
}; |
|
|
|
state.OnRecordingChange += () => |
|
{ |
|
if (!state.recording) |
|
{ |
|
TrackAssetRecordingExtensions.ClearRecordingState(); |
|
} |
|
}; |
|
} |
|
} |
|
}
|
|
|