diff --git a/src/Artemis.Core/Models/Profile/Layer.cs b/src/Artemis.Core/Models/Profile/Layer.cs
index f58084cca..5470a4c46 100644
--- a/src/Artemis.Core/Models/Profile/Layer.cs
+++ b/src/Artemis.Core/Models/Profile/Layer.cs
@@ -118,27 +118,6 @@ namespace Artemis.Core
return $"[Layer] {nameof(Name)}: {Name}, {nameof(Order)}: {Order}";
}
- ///
- public override List GetAllKeyframes()
- {
- if (_disposed)
- throw new ObjectDisposedException("Layer");
-
- var keyframes = base.GetAllKeyframes();
-
- foreach (var baseLayerProperty in General.GetAllLayerProperties())
- keyframes.AddRange(baseLayerProperty.BaseKeyframes);
- foreach (var baseLayerProperty in Transform.GetAllLayerProperties())
- keyframes.AddRange(baseLayerProperty.BaseKeyframes);
- if (LayerBrush?.BaseProperties != null)
- {
- foreach (var baseLayerProperty in LayerBrush.BaseProperties.GetAllLayerProperties())
- keyframes.AddRange(baseLayerProperty.BaseKeyframes);
- }
-
- return keyframes;
- }
-
///
protected override void Dispose(bool disposing)
{
@@ -311,19 +290,7 @@ namespace Artemis.Core
baseLayerEffect.Update(delta);
}
}
-
- ///
- public override List GetAllLayerProperties()
- {
- var result = base.GetAllLayerProperties();
- result.AddRange(General.GetAllLayerProperties());
- result.AddRange(Transform.GetAllLayerProperties());
- if (LayerBrush?.BaseProperties != null)
- result.AddRange(LayerBrush.BaseProperties.GetAllLayerProperties());
-
- return result;
- }
-
+
///
public override void Render(double deltaTime, SKCanvas canvas, SKImageInfo canvasInfo)
{
@@ -383,7 +350,6 @@ namespace Artemis.Core
if (Parent is Folder parentFolder)
targetLocation = Path.Bounds.Location - parentFolder.Path.Bounds.Location;
-
canvas.DrawBitmap(_layerBitmap, targetLocation, layerPaint);
}
diff --git a/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs b/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs
index 8f0119c50..e753cd3d7 100644
--- a/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs
+++ b/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs
@@ -6,6 +6,7 @@ using System.Reflection;
using Artemis.Core.LayerBrushes;
using Artemis.Core.LayerEffects;
using Artemis.Core.Properties;
+using Artemis.Core.Services;
using Artemis.Storage.Entities.Profile;
namespace Artemis.Core
@@ -170,6 +171,14 @@ namespace Artemis.Core
OnPropertyGroupInitialized();
}
+ internal void InitializeDataBindings(IDataModelService dataModelService, IDataModelService dataModelService1)
+ {
+ foreach (var layerProperty in LayerProperties)
+ {
+ layerProperty.InitializeDataBindings(dataModelService);
+ }
+ }
+
internal void ApplyToEntity()
{
if (!PropertiesInitialized)
diff --git a/src/Artemis.Core/Models/Profile/RenderProfileElement.cs b/src/Artemis.Core/Models/Profile/RenderProfileElement.cs
index 34aac49d9..a75ed2b56 100644
--- a/src/Artemis.Core/Models/Profile/RenderProfileElement.cs
+++ b/src/Artemis.Core/Models/Profile/RenderProfileElement.cs
@@ -12,21 +12,6 @@ namespace Artemis.Core
{
public abstract class RenderProfileElement : ProfileElement
{
- ///
- /// Returns a list of all keyframes on all properties and effects of this layer
- ///
- public virtual List GetAllKeyframes()
- {
- var keyframes = new List();
- foreach (var layerEffect in LayerEffects)
- {
- foreach (var baseLayerProperty in layerEffect.BaseProperties.GetAllLayerProperties())
- keyframes.AddRange(baseLayerProperty.BaseKeyframes);
- }
-
- return keyframes;
- }
-
protected void ApplyRenderElementDefaults()
{
MainSegmentLength = TimeSpan.FromSeconds(5);
@@ -312,16 +297,5 @@ namespace Artemis.Core
#endregion
- ///
- /// Returns all the layer properties of this profile element
- ///
- public virtual List GetAllLayerProperties()
- {
- var result = new List();
- foreach (var baseLayerEffect in LayerEffects)
- result.AddRange(baseLayerEffect.BaseProperties.GetAllLayerProperties());
-
- return result;
- }
}
}
\ No newline at end of file
diff --git a/src/Artemis.Core/Plugins/LayerBrushes/Internal/BaseLayerBrush.cs b/src/Artemis.Core/Plugins/LayerBrushes/Internal/BaseLayerBrush.cs
index 117a7656e..910432692 100644
--- a/src/Artemis.Core/Plugins/LayerBrushes/Internal/BaseLayerBrush.cs
+++ b/src/Artemis.Core/Plugins/LayerBrushes/Internal/BaseLayerBrush.cs
@@ -105,7 +105,7 @@ namespace Artemis.Core.LayerBrushes
// Not only is this needed to initialize properties on the layer brushes, it also prevents implementing anything
// but LayerBrush and RgbNetLayerBrush outside the core
- internal abstract void Initialize(IRenderElementService renderElementService);
+ internal abstract void Initialize();
internal abstract void InternalRender(SKCanvas canvas, SKImageInfo canvasInfo, SKPath path, SKPaint paint);
diff --git a/src/Artemis.Core/Plugins/LayerBrushes/LayerBrush.cs b/src/Artemis.Core/Plugins/LayerBrushes/LayerBrush.cs
index f1e75b77f..7ae5e268a 100644
--- a/src/Artemis.Core/Plugins/LayerBrushes/LayerBrush.cs
+++ b/src/Artemis.Core/Plugins/LayerBrushes/LayerBrush.cs
@@ -26,9 +26,9 @@ namespace Artemis.Core.LayerBrushes
Render(canvas, canvasInfo, path, paint);
}
- internal override void Initialize(IRenderElementService renderElementService)
+ internal override void Initialize()
{
- InitializeProperties(renderElementService);
+ InitializeProperties();
}
}
}
\ No newline at end of file
diff --git a/src/Artemis.Core/Plugins/LayerBrushes/PerLedLayerBrush.cs b/src/Artemis.Core/Plugins/LayerBrushes/PerLedLayerBrush.cs
index 13972ac87..8ad27213a 100644
--- a/src/Artemis.Core/Plugins/LayerBrushes/PerLedLayerBrush.cs
+++ b/src/Artemis.Core/Plugins/LayerBrushes/PerLedLayerBrush.cs
@@ -70,9 +70,9 @@ namespace Artemis.Core.LayerBrushes
}
}
- internal override void Initialize(IRenderElementService renderElementService)
+ internal override void Initialize()
{
- InitializeProperties(renderElementService);
+ InitializeProperties();
}
}
}
\ No newline at end of file
diff --git a/src/Artemis.Core/Plugins/LayerBrushes/RgbNetLayerBrush.cs b/src/Artemis.Core/Plugins/LayerBrushes/RgbNetLayerBrush.cs
index 1f270cf8e..395486165 100644
--- a/src/Artemis.Core/Plugins/LayerBrushes/RgbNetLayerBrush.cs
+++ b/src/Artemis.Core/Plugins/LayerBrushes/RgbNetLayerBrush.cs
@@ -46,12 +46,12 @@ namespace Artemis.Core.LayerBrushes
LedGroup.Brush = GetBrush();
}
- internal override void Initialize(IRenderElementService renderElementService)
+ internal override void Initialize()
{
LedGroup = new ListLedGroup();
Layer.RenderPropertiesUpdated += LayerOnRenderPropertiesUpdated;
- InitializeProperties(renderElementService);
+ InitializeProperties();
UpdateLedGroup();
}
diff --git a/src/Artemis.Core/Plugins/LayerEffects/Internal/BaseLayerEffect.cs b/src/Artemis.Core/Plugins/LayerEffects/Internal/BaseLayerEffect.cs
index 06b63c649..f928cbab8 100644
--- a/src/Artemis.Core/Plugins/LayerEffects/Internal/BaseLayerEffect.cs
+++ b/src/Artemis.Core/Plugins/LayerEffects/Internal/BaseLayerEffect.cs
@@ -147,6 +147,6 @@ namespace Artemis.Core.LayerEffects
// Not only is this needed to initialize properties on the layer effects, it also prevents implementing anything
// but LayerEffect outside the core
- internal abstract void Initialize(IRenderElementService renderElementService);
+ internal abstract void Initialize();
}
}
\ No newline at end of file
diff --git a/src/Artemis.Core/Plugins/LayerEffects/LayerEffect.cs b/src/Artemis.Core/Plugins/LayerEffects/LayerEffect.cs
index 03b43e8ee..ff7c6adec 100644
--- a/src/Artemis.Core/Plugins/LayerEffects/LayerEffect.cs
+++ b/src/Artemis.Core/Plugins/LayerEffects/LayerEffect.cs
@@ -40,9 +40,9 @@ namespace Artemis.Core.LayerEffects
EnableLayerEffect();
}
- internal override void Initialize(IRenderElementService renderElementService)
+ internal override void Initialize()
{
- InitializeProperties(renderElementService);
+ InitializeProperties();
}
}
}
\ No newline at end of file
diff --git a/src/Artemis.Core/Services/RenderElementService.cs b/src/Artemis.Core/Services/RenderElementService.cs
index 9178e6c94..fed3caf7a 100644
--- a/src/Artemis.Core/Services/RenderElementService.cs
+++ b/src/Artemis.Core/Services/RenderElementService.cs
@@ -74,7 +74,7 @@ namespace Artemis.Core.Services
var brush = (BaseLayerBrush) _kernel.Get(descriptor.LayerBrushType);
brush.Layer = layer;
brush.Descriptor = descriptor;
- brush.Initialize(this);
+ brush.Initialize();
brush.Update(0);
layer.LayerBrush = brush;
@@ -94,7 +94,7 @@ namespace Artemis.Core.Services
effect.Order = renderElement.LayerEffects.Count + 1;
effect.Descriptor = layerEffectDescriptor;
- effect.Initialize(this);
+ effect.Initialize();
effect.Update(0);
renderElement.AddLayerEffect(effect);
@@ -135,7 +135,7 @@ namespace Artemis.Core.Services
effect.Enabled = layerEffectEntity.Enabled;
effect.Descriptor = descriptor;
- effect.Initialize(this);
+ effect.Initialize();
effect.Update(0);
renderElement.AddLayerEffect(effect);
@@ -162,8 +162,7 @@ namespace Artemis.Core.Services
public void InstantiateDataBindings(RenderProfileElement renderElement)
{
- foreach (var baseLayerProperty in renderElement.GetAllLayerProperties())
- baseLayerProperty.InitializeDataBindings(_dataModelService, _dataBindingService);
+ renderElement.InitializeDataBindings(_dataBindingService, _dataModelService);
}
}
}
\ No newline at end of file