using System.Collections.Generic; using UnityEngine; namespace UnityEditor.Timeline { interface IMoveItemMode { void OnTrackDetach(IEnumerable itemsGroups); void HandleTrackSwitch(IEnumerable itemsGroups); bool AllowTrackSwitch(); double AdjustStartTime(WindowState state, ItemsPerTrack itemsGroup, double time); void OnModeClutchEnter(IEnumerable itemsGroups); void OnModeClutchExit(IEnumerable itemsGroups); void BeginMove(IEnumerable itemsGroups); void UpdateMove(IEnumerable itemsGroups); void FinishMove(IEnumerable itemsGroups); bool ValidateMove(ItemsPerTrack itemsGroup); } interface IMoveItemDrawer { void DrawGUI(WindowState state, IEnumerable movingItems, Color color); } }