Class BaseLayerEffect
- Namespace
- Artemis.Core.LayerEffects
- Assembly
- Artemis.Core.dll
For internal use only, please use LayerEffect<T> instead
public abstract class BaseLayerEffect : BreakableModel, IBreakableModel, IDisposable, IStorageModel, IPluginFeatureDependent
- Inheritance
-
objectCorePropertyChangedBaseLayerEffect
- Implements
- Derived
-
LayerEffect<T>
- Inherited Members
Constructors
BaseLayerEffect()
protected BaseLayerEffect()
Properties
BaseProperties
Gets a reference to the layer property group without knowing it's type
public virtual LayerEffectPropertyGroup? BaseProperties { get; }
Property Value
BrokenDisplayName
Gets the display name of this breakable model
public override string BrokenDisplayName { get; }
Property Value
ConfigurationDialog
Gets or sets a configuration dialog complementing the regular properties
public ILayerEffectConfigurationDialog? ConfigurationDialog { get; protected set; }
Property Value
Descriptor
Gets the LayerEffectDescriptor that registered this effect
public LayerEffectDescriptor Descriptor { get; }
Property Value
Enabled
Gets a boolean indicating whether the layer effect is enabled or not
public bool Enabled { get; }
Property Value
HasBeenRenamed
Gets or sets whether the effect has been renamed by the user, if true consider refraining from changing the name programatically
public bool HasBeenRenamed { get; set; }
Property Value
LayerEffectEntity
Gets the
public LayerEffectEntity LayerEffectEntity { get; }
Property Value
- LayerEffectEntity
Name
The name which appears in the editor
public string Name { get; set; }
Property Value
Order
Gets the order in which this effect appears in the update loop and editor
public int Order { get; set; }
Property Value
ProfileElement
Gets the profile element (such as layer or folder) this effect is applied to
public RenderProfileElement ProfileElement { get; }
Property Value
ProviderId
Gets the ID of the LayerEffectProvider that provided this effect
public string ProviderId { get; }
Property Value
Suspended
Gets a boolean indicating whether the layer effect is suspended or not
public bool Suspended { get; }
Property Value
Methods
DisableLayerEffect()
Called when the layer effect is deactivated
public abstract void DisableLayerEffect()
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
Dispose(bool)
Releases the unmanaged resources used by the object and optionally releases the managed resources.
protected virtual void Dispose(bool disposing)
Parameters
disposingbooltrue to release both managed and unmanaged resources; false to release only unmanaged resources.
EnableLayerEffect()
Called when the layer effect is activated
public abstract void EnableLayerEffect()
GetFeatureDependencies()
Gets the plugin features this class depends on, may contain the same plugin feature twice if depending on it in multiple ways.
public IEnumerable<PluginFeature> GetFeatureDependencies()
Returns
- IEnumerable<PluginFeature>
A List<T> of PluginFeature this class depends on.
Load()
Loads the model from its associated entity
public void Load()
PostProcess(SKCanvas, SKRect, SKPaint)
Called after the layer of folder has been rendered
public abstract void PostProcess(SKCanvas canvas, SKRect renderBounds, SKPaint paint)
Parameters
canvasSKCanvasThe canvas used to render the frame
renderBoundsSKRectThe bounds this layer/folder rendered in
paintSKPaintThe paint this layer/folder used to render
PreProcess(SKCanvas, SKRect, SKPaint)
Called before the layer or folder will be rendered
public abstract void PreProcess(SKCanvas canvas, SKRect renderBounds, SKPaint paint)
Parameters
canvasSKCanvasThe canvas used to render the frame
renderBoundsSKRectThe bounds this layer/folder will render in
paintSKPaintThe paint this layer/folder will use to render
Save()
Saves the model to its associated entity
public void Save()
Update(double)
Called before rendering every frame, write your update logic here
public abstract void Update(double deltaTime)
Parameters
deltaTimedouble