using System; using Artemis.Core; namespace Artemis.UI.Shared.Services.ProfileEditor.Commands; /// /// Represents a profile editor command that can be used to change the position of a keyframe. /// public class MoveKeyframe : IProfileEditorCommand { private readonly ILayerPropertyKeyframe _keyframe; private readonly TimeSpan _originalPosition; private readonly TimeSpan _position; /// /// Creates a new instance of the class. /// public MoveKeyframe(ILayerPropertyKeyframe keyframe, TimeSpan position) { _keyframe = keyframe; _position = position; _originalPosition = keyframe.Position; } /// /// Creates a new instance of the class. /// public MoveKeyframe(ILayerPropertyKeyframe keyframe, TimeSpan position, TimeSpan originalPosition) { _keyframe = keyframe; _position = position; _originalPosition = originalPosition; } #region Implementation of IProfileEditorCommand /// public string DisplayName => "Move keyframe"; /// public void Execute() { _keyframe.Position = _position; } /// public void Undo() { _keyframe.Position = _originalPosition; } #endregion }