diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2020-04-19 17:19:32 -0400 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2020-04-19 17:19:32 -0400 |
| commit | c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78 (patch) | |
| tree | ee4d51c7c1d633e11f46453ef1edd3c77c4ef9f7 /Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_StateChange.cs | |
| download | Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.gz Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.bz2 Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.zip | |
Inital commit
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_StateChange.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_StateChange.cs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_StateChange.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_StateChange.cs new file mode 100644 index 0000000..789c0ba --- /dev/null +++ b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_StateChange.cs @@ -0,0 +1,53 @@ +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(); + } + + // the time is sync'd prior to the callback + state.Evaluate(); // will do the repaint + + InspectorWindow.RepaintAllInspectors(); + }; + + state.OnRecordingChange += () => + { + if (!state.recording) + { + TrackAssetRecordingExtensions.ClearRecordingState(); + } + }; + } + } +} |
