diff options
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_Selection.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_Selection.cs | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_Selection.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_Selection.cs deleted file mode 100644 index c736e2e..0000000 --- a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Window/TimelineWindow_Selection.cs +++ /dev/null @@ -1,80 +0,0 @@ -using UnityEngine; -using UnityEngine.Playables; -using UnityEngine.Timeline; - -namespace UnityEditor.Timeline -{ - partial class TimelineWindow - { - [SerializeField] - SequencePath m_SequencePath; - private Object lastSelectedGO { get; set; } - - void OnSelectionChange() - { - RefreshSelection(false); - } - - void RefreshSelection(bool forceRebuild) - { - // if we're in Locked mode, keep current selection - don't use locked property because the - // sequence hierarchy may need to be rebuilt and it assumes no asset == unlocked - if (m_LockTracker.isLocked || (state != null && state.recording)) - { - RestoreLastSelection(forceRebuild); - return; - } - - // selection is a TimelineAsset - Object selectedObject = Selection.activeObject as TimelineAsset; - if (selectedObject != null) - { - SetCurrentSelection(Selection.activeObject); - return; - } - - // selection is a GameObject, or a prefab with a director - var selectedGO = Selection.activeGameObject; - if (selectedGO != null) - { - bool isSceneObject = !PrefabUtility.IsPartOfPrefabAsset(selectedGO); - bool hasDirector = selectedGO.GetComponent<PlayableDirector>() != null; - if (isSceneObject || hasDirector) - { - SetCurrentSelection(selectedGO); - return; - } - } - - // otherwise, keep the same selection. - RestoreLastSelection(forceRebuild); - } - - void RestoreLastSelection(bool forceRebuild) - { - state.SetCurrentSequencePath(m_SequencePath, forceRebuild); - } - - void SetCurrentSelection(Object obj) - { - var selectedGameObject = obj as GameObject; - if (selectedGameObject != null) - { - PlayableDirector director = TimelineUtility.GetDirectorComponentForGameObject(selectedGameObject); - SetCurrentTimeline(director); - lastSelectedGO = selectedGameObject; - } - else - { - var selectedSequenceAsset = obj as TimelineAsset; - if (selectedSequenceAsset != null) - { - SetCurrentTimeline(selectedSequenceAsset); - lastSelectedGO = selectedGameObject; - } - } - - Repaint(); - } - } -} |
