Example #1
0
        void ShiftTimeline(int destColumn)
        {
            var delta = destColumn - timeline.CurrentColumn;

            if (delta > 0)
            {
                TimelineHorizontalShift.Perform(timeline.CurrentColumn, delta);
            }
            else if (delta < 0)
            {
                foreach (var node in Document.Current.Container.Nodes)
                {
                    foreach (var animator in node.Animators.Where(i => i.AnimationId == Document.Current.AnimationId).ToList())
                    {
                        RemoveKeyframeRange.Perform(animator, destColumn, timeline.CurrentColumn - 1);
                    }
                }
                foreach (var marker in Document.Current.Animation.Markers.Where(m => m.Frame >= destColumn && m.Frame < timeline.CurrentColumn).ToList())
                {
                    DeleteMarker.Perform(marker, removeDependencies: false);
                }
                TimelineHorizontalShift.Perform(destColumn, delta);
            }
        }
Example #2
0
 public override void ExecuteTransaction()
 {
     TimelineHorizontalShift.Perform(UI.Timeline.Timeline.Instance.CurrentColumn, 1);
 }