Core - Streamlined public parts of profile creation

UI - Started adjusting the VMs for the layer refactor
This commit is contained in:
Robert authored and SpoinkyNL committed 2020-09-12 10:39:44 +02:00
1 parent 12ac50226f
commit 3e75f200f4
58 files changed
+694 -1196

No files matched your search

@@ -1,6 +1,5 @@
using System;
using System.Linq;
using Artemis.Core.LayerBrushes;
using Artemis.Storage.Entities.Profile;
using Ninject;
@@ -51,6 +50,11 @@ namespace Artemis.Core.LayerEffects
/// </summary>
internal IKernel Kernel { get; set; }
/// <summary>
/// Gets a boolean indicating if this descriptor is a placeholder for a missing plugin
/// </summary>
public bool IsPlaceHolder { get; internal set; }
/// <summary>
/// Creates an instance of the described effect and applies it to the render element
/// </summary>
@@ -60,6 +64,12 @@ namespace Artemis.Core.LayerEffects
if (renderElement.LayerEffects.Any(e => e.EntityId == entity.Id))
return;
if (IsPlaceHolder)
{
CreatePlaceHolderInstance(renderElement, entity);
return;
}
var effect = (BaseLayerEffect) Kernel.Get(LayerEffectType);
effect.ProfileElement = renderElement;
effect.EntityId = entity.Id;
@@ -73,5 +83,11 @@ namespace Artemis.Core.LayerEffects
renderElement.ActivateLayerEffect(effect);
}
private void CreatePlaceHolderInstance(RenderProfileElement renderElement, LayerEffectEntity entity)
{
var effect = new PlaceholderLayerEffect(entity) {ProfileElement = renderElement, Descriptor = this};
renderElement.ActivateLayerEffect(effect);
}
}
}