using System; using Artemis.Core; using Artemis.Core.LayerEffects; namespace Artemis.UI.Shared.Services.ProfileEditor.Commands; /// /// Represents a profile editor command that can be used to rename a layer effect /// public class RenameLayerEffect : IProfileEditorCommand { private readonly BaseLayerEffect _layerEffect; private readonly string _name; private readonly string _oldName; private readonly bool _wasRenamed; /// /// Creates a new instance of the class. /// public RenameLayerEffect(BaseLayerEffect layerEffect, string name) { _layerEffect = layerEffect; _name = name; _oldName = layerEffect.Name; _wasRenamed = layerEffect.HasBeenRenamed; } /// public string DisplayName => "Rename layer effect"; /// public void Execute() { _layerEffect.Name = _name; _layerEffect.HasBeenRenamed = true; } /// public void Undo() { _layerEffect.Name = _oldName; _layerEffect.HasBeenRenamed = _wasRenamed; } }