LightChannelEventArgs.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace TeamAAS_VP.Core.Lights
  7. {
  8. /// <summary>
  9. /// 提供有关单个灯光通道状态更改的事件数据。
  10. /// </summary>
  11. /// <remarks>
  12. /// 此类型封装了触发灯光通道相关事件时需要传递的基本信息,
  13. /// 包括通道实例、通道是否开启以及当前亮度值。
  14. /// </remarks>
  15. public class LightChannelEventArgs : EventArgs
  16. {
  17. /// <summary>
  18. /// 获取触发事件的灯光通道实例。
  19. /// </summary>
  20. /// <seealso cref="ILightChannel"/>
  21. public ILightChannel Channel { get; }
  22. /// <summary>
  23. /// 获取通道当前的开/关状态;若为 <c>true</c> 则表示已开启。
  24. /// </summary>
  25. public bool IsOn { get; }
  26. /// <summary>
  27. /// 获取通道当前的亮度值(具体取值范围由实现决定)。
  28. /// </summary>
  29. public int Brightness { get; }
  30. /// <summary>
  31. /// 使用指定的通道、开关状态和亮度初始化 <see cref="LightChannelEventArgs"/> 的新实例。
  32. /// </summary>
  33. /// <param name="channel">触发事件的灯光通道实例。</param>
  34. /// <param name="isOn">通道的开/关状态;为 <c>true</c> 表示已开启。</param>
  35. /// <param name="brightness">通道的亮度值(实现决定其有效范围)。</param>
  36. public LightChannelEventArgs(ILightChannel channel, bool isOn, int brightness)
  37. {
  38. Channel = channel;
  39. IsOn = isOn;
  40. Brightness = brightness;
  41. }
  42. }
  43. }