Surface - Removed the ArtemisSurface and reworked device loading

This commit is contained in:
Robert committed 2021-02-16 21:46:08 +01:00
1 parent 7ccc9c54fb
commit 056b2bface
50 files changed
+1292 -1506

No files matched your search

+2 -2
View File
@@ -567,7 +567,7 @@ namespace Artemis.Core
CalculateRenderProperties();
}
internal void PopulateLeds(ArtemisSurface surface)
internal void PopulateLeds(IEnumerable<ArtemisDevice> devices)
{
if (Disposed)
throw new ObjectDisposedException("Layer");
@@ -575,7 +575,7 @@ namespace Artemis.Core
List<ArtemisLed> leds = new();
// Get the surface LEDs for this layer
List<ArtemisLed> availableLeds = surface.Devices.Where(d => d.IsEnabled).SelectMany(d => d.Leds).ToList();
List<ArtemisLed> availableLeds = devices.SelectMany(d => d.Leds).ToList();
foreach (LedEntity ledEntity in LayerEntity.Leds)
{
ArtemisLed? match = availableLeds.FirstOrDefault(a => a.Device.RgbDevice.GetDeviceIdentifier() == ledEntity.DeviceIdentifier &&
+5 -5
View File
@@ -124,14 +124,14 @@ namespace Artemis.Core
/// <summary>
/// Populates all the LEDs on the elements in this profile
/// </summary>
/// <param name="surface">The currently active surface that contains the LEDs</param>
public void PopulateLeds(ArtemisSurface surface)
/// <param name="devices">The devices to use while populating LEDs</param>
public void PopulateLeds(IEnumerable<ArtemisDevice> devices)
{
if (Disposed)
throw new ObjectDisposedException("Profile");
foreach (Layer layer in GetAllLayers())
layer.PopulateLeds(surface);
layer.PopulateLeds(devices);
}
/// <inheritdoc />
@@ -197,7 +197,7 @@ namespace Artemis.Core
ProfileEntity.Layers.AddRange(GetAllLayers().Select(f => f.LayerEntity));
}
internal void Activate(ArtemisSurface surface)
internal void Activate(IEnumerable<ArtemisDevice> devices)
{
lock (_lock)
{
@@ -206,7 +206,7 @@ namespace Artemis.Core
if (IsActivated)
return;
PopulateLeds(surface);
PopulateLeds(devices);
OnActivated();
IsActivated = true;
}