1
0
mirror of https://github.com/DarthAffe/RGB.NET.git synced 2025-12-12 17:48:31 +00:00
RGB.NET/RGB.NET.Core/Effects/IEffectTarget.cs

34 lines
947 B
C#

// ReSharper disable UnusedMember.Global
namespace RGB.NET.Core.Effects
{
/// <summary>
/// Represents a basic effect-target.
/// </summary>
/// <typeparam name="T">The type this target represents.</typeparam>
public interface IEffectTarget<out T>
where T : IEffectTarget<T>
{
#region Methods
/// <summary>
/// Updates all <see cref="IEffect{T}"/> added to this target.
/// </summary>
void UpdateEffects();
/// <summary>
/// Adds an <see cref="IEffect{T}"/>.
/// </summary>
/// <param name="effect">The <see cref="IEffect{T}"/> to add.</param>
void AddEffect(IEffect<T> effect);
/// <summary>
/// Removes an <see cref="IEffect{T}"/>.
/// </summary>
/// <param name="effect">The <see cref="IEffect{T}"/> to remove.</param>
void RemoveEffect(IEffect<T> effect);
#endregion
}
}