Table of Contents

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
object
CorePropertyChanged
BaseLayerEffect
Implements
Derived
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

LayerEffectPropertyGroup

BrokenDisplayName

Gets the display name of this breakable model

public override string BrokenDisplayName { get; }

Property Value

string

ConfigurationDialog

Gets or sets a configuration dialog complementing the regular properties

public ILayerEffectConfigurationDialog? ConfigurationDialog { get; protected set; }

Property Value

ILayerEffectConfigurationDialog

Descriptor

Gets the LayerEffectDescriptor that registered this effect

public LayerEffectDescriptor Descriptor { get; }

Property Value

LayerEffectDescriptor

Enabled

Gets a boolean indicating whether the layer effect is enabled or not

public bool Enabled { get; }

Property Value

bool

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

bool

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

string

Order

Gets the order in which this effect appears in the update loop and editor

public int Order { get; set; }

Property Value

int

ProfileElement

Gets the profile element (such as layer or folder) this effect is applied to

public RenderProfileElement ProfileElement { get; }

Property Value

RenderProfileElement

ProviderId

Gets the ID of the LayerEffectProvider that provided this effect

public string ProviderId { get; }

Property Value

string

Suspended

Gets a boolean indicating whether the layer effect is suspended or not

public bool Suspended { get; }

Property Value

bool

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

disposing bool

true 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

canvas SKCanvas

The canvas used to render the frame

renderBounds SKRect

The bounds this layer/folder rendered in

paint SKPaint

The 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

canvas SKCanvas

The canvas used to render the frame

renderBounds SKRect

The bounds this layer/folder will render in

paint SKPaint

The 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

deltaTime double