// ReSharper disable MemberCanBePrivate.Global // ReSharper disable UnusedMember.Global using System.IO; using System.Reflection; using RGB.NET.Core; namespace RGB.NET.Devices.Corsair { /// /// Represents a corsair headset. /// public class CorsairHeadsetRGBDevice : CorsairRGBDevice { #region Properties & Fields /// /// Gets information about the . /// public CorsairHeadsetRGBDeviceInfo HeadsetDeviceInfo { get; } #endregion #region Constructors /// /// Initializes a new instance of the class. /// /// The specific information provided by CUE for the headset internal CorsairHeadsetRGBDevice(CorsairHeadsetRGBDeviceInfo info) : base(info) { this.HeadsetDeviceInfo = info; } #endregion #region Methods /// protected override void InitializeLayout() { InitializeLed(new CorsairLedId(this, CorsairLedIds.LeftLogo), new Rectangle(0, 0, 10, 10)); InitializeLed(new CorsairLedId(this, CorsairLedIds.RightLogo), new Rectangle(10, 0, 10, 10)); ApplyLayoutFromFile(Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), $@"Layouts\Corsair\Headsets\{HeadsetDeviceInfo.Model.Replace(" ", string.Empty).ToUpper()}.xml")); } #endregion } }