using System.Collections.Generic; using CUE.NET.Brushes; using CUE.NET.Devices.Generic; namespace CUE.NET.Effects { /// /// Represents a basic effect. /// public interface IEffect { #region Properties & Fields /// /// Gets or sets the list of LEDs to which the effect applies. /// IEnumerable LedList { get; set; } /// /// Gets the brush which is drawn by the effect. /// IBrush EffectBrush { get; } /// /// Gets or sets the z-index of the effect to allow ordering them before drawing. (lowest first) (default: 0) /// int ZIndex { get; set; } /// /// Gets or sets if this effect has finished all of his work. /// bool IsDone { get; } #endregion #region Methods /// /// Updates the effect. /// /// The elapsed time (in seconds) since the last update. void Update(float deltaTime); /// /// Hook which is called when the effect is attached to a device. /// void OnAttach(); /// /// Hook which is called when the effect is detached from a device. /// void OnDetach(); #endregion } }