summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Manipulators/Move/IMoveItemMode.cs
blob: ac459cadc40f4909192addc76dff398cb7a11a9a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System.Collections.Generic;
using UnityEngine;

namespace UnityEditor.Timeline
{
    interface IMoveItemMode
    {
        void OnTrackDetach(IEnumerable<ItemsPerTrack> itemsGroups);
        void HandleTrackSwitch(IEnumerable<ItemsPerTrack> itemsGroups);
        bool AllowTrackSwitch();

        double AdjustStartTime(WindowState state, ItemsPerTrack itemsGroup, double time);

        void OnModeClutchEnter(IEnumerable<ItemsPerTrack> itemsGroups);
        void OnModeClutchExit(IEnumerable<ItemsPerTrack> itemsGroups);

        void BeginMove(IEnumerable<ItemsPerTrack> itemsGroups);
        void UpdateMove(IEnumerable<ItemsPerTrack> itemsGroups);
        void FinishMove(IEnumerable<ItemsPerTrack> itemsGroups);

        bool ValidateMove(ItemsPerTrack itemsGroup);
    }

    interface IMoveItemDrawer
    {
        void DrawGUI(WindowState state, IEnumerable<MovingItems> movingItems, Color color);
    }
}