using System.Collections.Generic;
namespace RGB.NET.Core
{
///
/// Represents a generic .
///
public abstract class AbstractLedGroup : AbstractEffectTarget, ILedGroup
{
#region Properties & Fields
///
/// Gets the strongly-typed target used for the effect.
///
protected override ILedGroup EffectTarget => this;
///
public IBrush Brush { get; set; }
///
public int ZIndex { get; set; } = 0;
#endregion
#region Constructors
///
/// Initializes a new instance of the class.
///
/// Specifies whether this should be automatically attached or not.
protected AbstractLedGroup(bool autoAttach)
{
if (autoAttach)
RGBSurface.AttachLedGroup(this);
}
#endregion
#region Methods
///
public abstract IEnumerable GetLeds();
///
public virtual void OnAttach()
{ }
///
public virtual void OnDetach()
{ }
#endregion
}
}