You're breathtaking!

This commit is contained in:
Wojtek Figat
2020-12-07 23:40:54 +01:00
commit 6fb9eee74c
5143 changed files with 1153594 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
// Copyright (c) 2012-2020 Wojciech Figat. All rights reserved.
using System.IO;
namespace FlaxEditor.GUI.Timeline.Undo
{
class EditTimelineAction : IUndoAction
{
private Timeline _timeline;
private byte[] _beforeData;
private byte[] _afterData;
public EditTimelineAction(Timeline timeline, byte[] beforeData, byte[] afterData)
{
_timeline = timeline;
_beforeData = beforeData;
_afterData = afterData;
}
public static byte[] CaptureData(Timeline timeline)
{
using (var memory = new MemoryStream(512))
using (var stream = new BinaryWriter(memory))
{
stream.Write(timeline.DurationFrames);
return memory.ToArray();
}
}
private void Set(byte[] data)
{
using (var memory = new MemoryStream(data))
using (var stream = new BinaryReader(memory))
{
_timeline.DurationFrames = stream.ReadInt32();
}
_timeline.ArrangeTracks();
_timeline.MarkAsEdited();
}
public string ActionString => "Edit timeline";
public void Do()
{
Set(_afterData);
}
public void Undo()
{
Set(_beforeData);
}
public void Dispose()
{
_timeline = null;
_beforeData = null;
_afterData = null;
}
}
}