Exemplo n.º 1
0
        public bool Do()
        {
            Layer TargetLayer = Program.ActiveProject.Layers[LayerIndex];
            Frameset TargetFrameset = TargetLayer.Framesets[FramesetIndex];

            AddedFrame = new Keyframe(Time, State.Copy(), EntityInterpolationMode.Linear);

            PrevSelectedFrame = Program.MainTimeline.selectedTime;

            Program.MainTimeline.ClearSelection();
            Program.MainTimeline.selectedItems.Select(TargetLayer, TargetFrameset, AddedFrame);

            TargetFrameset.Keyframes.Add(AddedFrame);
            TargetFrameset.Keyframes = TargetFrameset.Keyframes.OrderBy(o => o.Time).ToList();
            AddedFrameIndex = TargetFrameset.Keyframes.IndexOf(AddedFrame);

            Program.MainTimeline.GLContext.Invalidate();

            return true;
        }
Exemplo n.º 2
0
        public KeyframeRemoveAction(Layer layer, Frameset frameset, Keyframe frame)
        {
            LayerIndex = Program.ActiveProject.Layers.IndexOf(layer);
            FramesetIndex = layer.Framesets.IndexOf(frameset);

            RemovedKeyframe = frame;
            RemovedKeyframeIndex = frameset.Keyframes.IndexOf(RemovedKeyframe);
        }
Exemplo n.º 3
0
 public KeyframeChangeInterpModeAction(Layer l, Frameset f, Keyframe frame, EntityInterpolationMode target)
 {
     LayerIndex = Program.ActiveProject.Layers.IndexOf(l);
     FramesetIndex = l.Framesets.IndexOf(f);
     KeyframeIndex = f.Keyframes.IndexOf(frame);
     TargetMode = target;
 }
Exemplo n.º 4
0
        public KeyframeMoveAction(Layer layer, Frameset frameset, Keyframe frame, uint time)
        {
            LayerIndex = Program.ActiveProject.Layers.IndexOf(layer);
            FramesetIndex = layer.Framesets.IndexOf(frameset);
            KeyframeIndex = frameset.Keyframes.IndexOf(frame);

            TargetKeyframe = frame;
            OriginalTime = time;
            NewTime = frame.Time;
        }
Exemplo n.º 5
0
        public bool Undo()
        {
            Layer TargetLayer = Program.ActiveProject.Layers[LayerIndex];
            Frameset TargetFrameset = TargetLayer.Framesets[FramesetIndex];

            TargetFrameset.Keyframes.RemoveAt(AddedFrameIndex);

            Program.MainTimeline.ClearSelection();
            Program.MainTimeline.selectedItems.Select(SelectionType.BlankFrame, PrevSelectedFrame);

            AddedFrame = null;
            PrevSelectedFrame = -1;

            Program.MainTimeline.GLContext.Invalidate();

            return true;
        }