Profile editor - Added effect renaming

Core - Fixed effect loading
Core - Fixed some effects not applying on per-LED brushes
This commit is contained in:
Robert committed 2022-04-23 21:12:06 +02:00
1 parent 2bf36fbf20
commit cd8656cb0d
18 files changed
+292 -79

No files matched your search

@@ -0,0 +1,48 @@
using System;
using Artemis.Core;
using Artemis.Core.LayerEffects;
namespace Artemis.UI.Shared.Services.ProfileEditor.Commands;
/// <summary>
/// Represents a profile editor command that can be used to remove a layer effect from a profile element.
/// </summary>
public class RemoveLayerEffect : IProfileEditorCommand, IDisposable
{
private readonly RenderProfileElement _renderProfileElement;
private readonly BaseLayerEffect _layerEffect;
private bool _executed;
/// <summary>
/// Creates a new instance of the <see cref="RemoveLayerEffect"/> class.
/// </summary>
public RemoveLayerEffect(BaseLayerEffect layerEffect)
{
_renderProfileElement = layerEffect.ProfileElement;
_layerEffect = layerEffect;
}
/// <inheritdoc />
public string DisplayName => "Remove layer effect";
/// <inheritdoc />
public void Execute()
{
_renderProfileElement.RemoveLayerEffect(_layerEffect);
_executed = true;
}
/// <inheritdoc />
public void Undo()
{
_renderProfileElement.AddLayerEffect(_layerEffect);
_executed = false;
}
/// <inheritdoc />
public void Dispose()
{
if (_executed)
_layerEffect.Dispose();
}
}
@@ -0,0 +1,44 @@
using System;
using Artemis.Core;
using Artemis.Core.LayerEffects;
namespace Artemis.UI.Shared.Services.ProfileEditor.Commands;
/// <summary>
/// Represents a profile editor command that can be used to rename a layer effect
/// </summary>
public class RenameLayerEffect : IProfileEditorCommand
{
private readonly BaseLayerEffect _layerEffect;
private readonly string _name;
private readonly string _oldName;
private readonly bool _wasRenamed;
/// <summary>
/// Creates a new instance of the <see cref="RenameLayerEffect"/> class.
/// </summary>
public RenameLayerEffect(BaseLayerEffect layerEffect, string name)
{
_layerEffect = layerEffect;
_name = name;
_oldName = layerEffect.Name;
_wasRenamed = layerEffect.HasBeenRenamed;
}
/// <inheritdoc />
public string DisplayName => "Rename layer effect";
/// <inheritdoc />
public void Execute()
{
_layerEffect.Name = _name;
_layerEffect.HasBeenRenamed = true;
}
/// <inheritdoc />
public void Undo()
{
_layerEffect.Name = _oldName;
_layerEffect.HasBeenRenamed = _wasRenamed;
}
}