Redid some of the surface editor and started working on layout saving

This commit is contained in:
SpoinkyNL committed 2019-09-18 22:26:10 +02:00
1 parent 81294eef8f
commit 71f53c0833
48 files changed
+1012 -107

No files matched your search

@@ -0,0 +1,32 @@
using System.Collections.Generic;
using Artemis.Storage.Entities;
namespace Artemis.Core.Models.Surface
{
public class SurfaceConfiguration
{
public SurfaceConfiguration(string name)
{
Name = name;
DeviceConfigurations = new List<SurfaceDeviceConfiguration>();
}
internal SurfaceConfiguration(SurfaceEntity surfaceEntity)
{
Guid = surfaceEntity.Guid;
Name = surfaceEntity.Name;
IsActive = surfaceEntity.IsActive;
DeviceConfigurations = new List<SurfaceDeviceConfiguration>();
if (surfaceEntity.SurfacePositions == null)
return;
foreach (var position in surfaceEntity.SurfacePositions)
DeviceConfigurations.Add(new SurfaceDeviceConfiguration(position, this));
}
internal string Guid { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
public List<SurfaceDeviceConfiguration> DeviceConfigurations { get; set; }
}
}
@@ -0,0 +1,47 @@
using Artemis.Storage.Entities;
using RGB.NET.Core;
namespace Artemis.Core.Models.Surface
{
public class SurfaceDeviceConfiguration
{
internal SurfaceDeviceConfiguration(int deviceId, IRGBDeviceInfo deviceInfo, SurfaceConfiguration surface)
{
DeviceId = deviceId;
DeviceName = deviceInfo.DeviceName;
DeviceModel = deviceInfo.Model;
DeviceManufacturer = deviceInfo.Manufacturer;
Surface = surface;
}
internal SurfaceDeviceConfiguration(SurfacePositionEntity position, SurfaceConfiguration surfaceConfiguration)
{
Guid = position.Guid;
DeviceId = position.DeviceId;
DeviceName = position.DeviceName;
DeviceModel = position.DeviceModel;
DeviceManufacturer = position.DeviceManufacturer;
X = position.X;
Y = position.Y;
Rotation = position.Rotation;
Surface = surfaceConfiguration;
}
internal string Guid { get; set; }
public int DeviceId { get; set; }
public string DeviceName { get; set; }
public string DeviceModel { get; set; }
public string DeviceManufacturer { get; set; }
public double X { get; set; }
public double Y { get; set; }
public double Rotation { get; set; }
public SurfaceConfiguration Surface { get; internal set; }
}
}