From 4cfe71796c1e3122ac3738b6eb323dbdbb3f92c4 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Tue, 8 Sep 2020 23:54:19 +0200 Subject: [PATCH] Core wip things tired of writing descriptive messages ^^ --- src/Artemis.Core/Models/Profile/Layer.cs | 36 +------------------ .../Models/Profile/LayerPropertyGroup.cs | 9 +++++ .../Models/Profile/RenderProfileElement.cs | 26 -------------- .../LayerBrushes/Internal/BaseLayerBrush.cs | 2 +- .../Plugins/LayerBrushes/LayerBrush.cs | 4 +-- .../Plugins/LayerBrushes/PerLedLayerBrush.cs | 4 +-- .../Plugins/LayerBrushes/RgbNetLayerBrush.cs | 4 +-- .../LayerEffects/Internal/BaseLayerEffect.cs | 2 +- .../Plugins/LayerEffects/LayerEffect.cs | 4 +-- .../Services/RenderElementService.cs | 9 +++-- 10 files changed, 24 insertions(+), 76 deletions(-) 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