summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/EditMode.cs
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@protonmail.com>2020-08-20 23:40:50 -0400
committerAndrew Lee <alee14498@protonmail.com>2020-08-20 23:40:50 -0400
commit3af4c218c0e70167db23a6303d2af30aff37d2fe (patch)
tree927f29edcf54ab562f40f3d1c6cb69287c7f5980 /Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/EditMode.cs
parentb6daed0af784f4e9bc13329dd87c671b06ee1c65 (diff)
downloadProject-Sandbox-3af4c218c0e70167db23a6303d2af30aff37d2fe.tar.gz
Project-Sandbox-3af4c218c0e70167db23a6303d2af30aff37d2fe.tar.bz2
Project-Sandbox-3af4c218c0e70167db23a6303d2af30aff37d2fe.zip
Removed a bunch of stuff; Changes
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/EditMode.cs')
-rw-r--r--Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/EditMode.cs344
1 files changed, 0 insertions, 344 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/EditMode.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/EditMode.cs
deleted file mode 100644
index 475b586..0000000
--- a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/EditMode.cs
+++ /dev/null
@@ -1,344 +0,0 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.Timeline;
-
-namespace UnityEditor.Timeline
-{
- static class EditMode
- {
- public enum EditType
- {
- None = -1,
- Mix = 0,
- Ripple = 1,
- Replace = 2
- }
-
- interface ISubEditMode
- {
- IMoveItemMode moveItemMode { get; }
- IMoveItemDrawer moveItemDrawer { get; }
- ITrimItemMode trimItemMode { get; }
- ITrimItemDrawer trimItemDrawer { get; }
- IAddDeleteItemMode addDeleteItemMode { get; }
-
- Color color { get; }
- KeyCode clutchKey { get; }
-
- void Reset();
- }
-
- class SubEditMode<TMoveMode, TTrimMode, TAddDeleteMode>: ISubEditMode
- where TMoveMode : class, IMoveItemMode, IMoveItemDrawer, new()
- where TTrimMode : class, ITrimItemMode, ITrimItemDrawer, new()
- where TAddDeleteMode : class, IAddDeleteItemMode, new()
- {
- public SubEditMode(Color guiColor, KeyCode key)
- {
- color = guiColor;
- clutchKey = key;
- Reset();
- }
-
- public void Reset()
- {
- m_MoveItemMode = new TMoveMode();
- m_TrimItemMode = new TTrimMode();
- m_AddDeleteItemMode = new TAddDeleteMode();
- }
-
- TMoveMode m_MoveItemMode;
- TTrimMode m_TrimItemMode;
- TAddDeleteMode m_AddDeleteItemMode;
-
- public IMoveItemMode moveItemMode { get { return m_MoveItemMode; } }
- public IMoveItemDrawer moveItemDrawer { get { return m_MoveItemMode; } }
- public ITrimItemMode trimItemMode { get { return m_TrimItemMode; } }
- public ITrimItemDrawer trimItemDrawer { get { return m_TrimItemMode; } }
- public IAddDeleteItemMode addDeleteItemMode { get { return m_AddDeleteItemMode; } }
- public Color color { get; }
- public KeyCode clutchKey { get; }
- }
-
- static readonly Dictionary<EditType, ISubEditMode> k_EditModes = new Dictionary<EditType, ISubEditMode>
- {
- { EditType.Mix, new SubEditMode<MoveItemModeMix, TrimItemModeMix, AddDeleteItemModeMix>(DirectorStyles.kMixToolColor, KeyCode.Alpha1) },
- { EditType.Ripple, new SubEditMode<MoveItemModeRipple, TrimItemModeRipple, AddDeleteItemModeRipple>(DirectorStyles.kRippleToolColor, KeyCode.Alpha2) },
- { EditType.Replace, new SubEditMode<MoveItemModeReplace, TrimItemModeReplace, AddDeleteItemModeReplace>(DirectorStyles.kReplaceToolColor, KeyCode.Alpha3) }
- };
-
- static EditType s_CurrentEditType = EditType.Mix;
- static EditType s_OverrideEditType = EditType.None;
-
- static ITrimmable s_CurrentTrimItem;
- static TrimEdge s_CurrentTrimDirection;
- static MoveItemHandler s_CurrentMoveItemHandler;
- static EditModeInputHandler s_InputHandler = new EditModeInputHandler();
-
- static ITrimItemMode trimMode
- {
- get { return GetSubEditMode(editType).trimItemMode; }
- }
-
- static ITrimItemDrawer trimDrawer
- {
- get { return GetSubEditMode(editType).trimItemDrawer; }
- }
-
- static IMoveItemMode moveMode
- {
- get { return GetSubEditMode(editType).moveItemMode; }
- }
-
- static IMoveItemDrawer moveDrawer
- {
- get { return GetSubEditMode(editType).moveItemDrawer; }
- }
-
- static IAddDeleteItemMode addDeleteMode
- {
- get { return GetSubEditMode(editType).addDeleteItemMode; }
- }
-
- public static EditModeInputHandler inputHandler
- {
- get { return s_InputHandler; }
- }
-
- static Color modeColor
- {
- get { return GetSubEditMode(editType).color; }
- }
-
- public static EditType editType
- {
- get
- {
- if (s_OverrideEditType != EditType.None)
- return s_OverrideEditType;
-
- var window = TimelineWindow.instance;
- if (window != null)
- s_CurrentEditType = window.state.editType;
-
- return s_CurrentEditType;
- }
- set
- {
- s_CurrentEditType = value;
-
- var window = TimelineWindow.instance;
- if (window != null)
- window.state.editType = value;
-
- s_OverrideEditType = EditType.None;
- }
- }
-
- static ISubEditMode GetSubEditMode(EditType type)
- {
- var subEditMode = k_EditModes[type];
- if (subEditMode != null)
- return subEditMode;
-
- Debug.LogError("Unsupported editmode type");
- return null;
- }
-
- static EditType GetSubEditType(KeyCode key)
- {
- foreach (var subEditMode in k_EditModes)
- {
- if (subEditMode.Value.clutchKey == key)
- return subEditMode.Key;
- }
- return EditType.None;
- }
-
- public static void ClearEditMode()
- {
- k_EditModes[editType].Reset();
- }
-
- public static void BeginTrim(ITimelineItem item, TrimEdge trimDirection)
- {
- var itemToTrim = item as ITrimmable;
- if (itemToTrim == null) return;
-
- s_CurrentTrimItem = itemToTrim;
- s_CurrentTrimDirection = trimDirection;
- trimMode.OnBeforeTrim(itemToTrim, trimDirection);
- TimelineUndo.PushUndo(itemToTrim.parentTrack, "Trim Clip");
- }
-
- public static void TrimStart(ITimelineItem item, double time)
- {
- var itemToTrim = item as ITrimmable;
- if (itemToTrim == null) return;
-
- trimMode.TrimStart(itemToTrim, time);
- }
-
- public static void TrimEnd(ITimelineItem item, double time, bool affectTimeScale)
- {
- var itemToTrim = item as ITrimmable;
- if (itemToTrim == null) return;
-
- trimMode.TrimEnd(itemToTrim, time, affectTimeScale);
- }
-
- public static void DrawTrimGUI(WindowState state, TimelineItemGUI item, TrimEdge edge)
- {
- trimDrawer.DrawGUI(state, item.rect, modeColor, edge);
- }
-
- public static void FinishTrim()
- {
- s_CurrentTrimItem = null;
-
- TimelineCursors.ClearCursor();
- ClearEditMode();
-
- TimelineEditor.Refresh(RefreshReason.ContentsModified);
- }
-
- public static void BeginMove(MoveItemHandler moveItemHandler)
- {
- s_CurrentMoveItemHandler = moveItemHandler;
- moveMode.BeginMove(s_CurrentMoveItemHandler.movingItems);
- }
-
- public static void UpdateMove()
- {
- moveMode.UpdateMove(s_CurrentMoveItemHandler.movingItems);
- }
-
- public static void OnTrackDetach(IEnumerable<ItemsPerTrack> grabbedTrackItems)
- {
- moveMode.OnTrackDetach(grabbedTrackItems);
- }
-
- public static void HandleTrackSwitch(IEnumerable<ItemsPerTrack> grabbedTrackItems)
- {
- moveMode.HandleTrackSwitch(grabbedTrackItems);
- }
-
- public static bool AllowTrackSwitch()
- {
- return moveMode.AllowTrackSwitch();
- }
-
- public static double AdjustStartTime(WindowState state, ItemsPerTrack itemsGroup, double time)
- {
- return moveMode.AdjustStartTime(state, itemsGroup, time);
- }
-
- public static bool ValidateDrag(ItemsPerTrack itemsGroup)
- {
- return moveMode.ValidateMove(itemsGroup);
- }
-
- public static void DrawMoveGUI(WindowState state, IEnumerable<MovingItems> movingItems)
- {
- moveDrawer.DrawGUI(state, movingItems, modeColor);
- }
-
- public static void FinishMove()
- {
- var manipulatedItemsList = s_CurrentMoveItemHandler.movingItems;
- moveMode.FinishMove(manipulatedItemsList);
-
- foreach (var itemsGroup in manipulatedItemsList)
- foreach (var item in itemsGroup.items)
- item.parentTrack = itemsGroup.targetTrack;
-
- s_CurrentMoveItemHandler = null;
-
- TimelineCursors.ClearCursor();
- ClearEditMode();
-
- TimelineEditor.Refresh(RefreshReason.ContentsModified);
- }
-
- public static void FinalizeInsertItemsAtTime(IEnumerable<ItemsPerTrack> newItems, double requestedTime)
- {
- addDeleteMode.InsertItemsAtTime(newItems, requestedTime);
- }
-
- public static void PrepareItemsDelete(IEnumerable<ItemsPerTrack> newItems)
- {
- addDeleteMode.RemoveItems(newItems);
- }
-
- public static void HandleModeClutch()
- {
- if (Event.current.type == EventType.KeyDown && EditorGUI.IsEditingTextField())
- return;
-
- var prevType = editType;
-
- if (Event.current.type == EventType.KeyDown)
- {
- var clutchEditType = GetSubEditType(Event.current.keyCode);
- if (clutchEditType != EditType.None)
- {
- s_OverrideEditType = clutchEditType;
- Event.current.Use();
- }
- }
- else if (Event.current.type == EventType.KeyUp)
- {
- var clutchEditType = GetSubEditType(Event.current.keyCode);
- if (clutchEditType == s_OverrideEditType)
- {
- s_OverrideEditType = EditType.None;
- Event.current.Use();
- }
- }
-
- if (prevType != editType)
- {
- if (s_CurrentTrimItem != null)
- {
- trimMode.OnBeforeTrim(s_CurrentTrimItem, s_CurrentTrimDirection);
- }
- else if (s_CurrentMoveItemHandler != null)
- {
- if (s_CurrentMoveItemHandler.movingItems == null)
- {
- s_CurrentMoveItemHandler = null;
- return;
- }
-
- foreach (var movingItems in s_CurrentMoveItemHandler.movingItems)
- {
- if (movingItems != null && movingItems.HasAnyDetachedParents())
- {
- foreach (var items in movingItems.items)
- {
- items.parentTrack = movingItems.originalTrack;
- }
- }
- }
-
- var movingSelection = s_CurrentMoveItemHandler.movingItems;
-
- // Handle clutch key transition if needed
- GetSubEditMode(prevType).moveItemMode.OnModeClutchExit(movingSelection);
- moveMode.OnModeClutchEnter(movingSelection);
-
- moveMode.BeginMove(movingSelection);
- moveMode.HandleTrackSwitch(movingSelection);
-
- UpdateMove();
- s_CurrentMoveItemHandler.RefreshPreviewItems();
-
- TimelineWindow.instance.state.rebuildGraph = true; // TODO Rebuild only if parent changed
- }
-
- TimelineWindow.instance.Repaint(); // TODO Refresh the toolbar without doing a full repaint?
- }
- }
- }
-}