mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Storage - Added LiteDB to SQLite migration UI - Try to die a bit more gracefully Core - Delay start watching plugins for hot reload after initializing UI - Simplify category management logic UI - Avoid crash during profile icon load Storage - Fix entry metadata retrieval
36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
namespace Artemis.Storage.Legacy.Entities.Profile;
|
|
|
|
internal class LedEntity
|
|
{
|
|
public string LedName { get; set; } = string.Empty;
|
|
public string DeviceIdentifier { get; set; } = string.Empty;
|
|
|
|
public int? PhysicalLayout { get; set; }
|
|
|
|
#region LedEntityEqualityComparer
|
|
|
|
private sealed class LedEntityEqualityComparer : IEqualityComparer<LedEntity>
|
|
{
|
|
public bool Equals(LedEntity? x, LedEntity? y)
|
|
{
|
|
if (ReferenceEquals(x, y))
|
|
return true;
|
|
if (ReferenceEquals(x, null))
|
|
return false;
|
|
if (ReferenceEquals(y, null))
|
|
return false;
|
|
if (x.GetType() != y.GetType())
|
|
return false;
|
|
return x.LedName == y.LedName && x.DeviceIdentifier == y.DeviceIdentifier && x.PhysicalLayout == y.PhysicalLayout;
|
|
}
|
|
|
|
public int GetHashCode(LedEntity obj)
|
|
{
|
|
return HashCode.Combine(obj.LedName, obj.DeviceIdentifier, obj.PhysicalLayout);
|
|
}
|
|
}
|
|
|
|
public static IEqualityComparer<LedEntity> LedEntityComparer { get; } = new LedEntityEqualityComparer();
|
|
|
|
#endregion
|
|
} |