Class ActivationSequenceLayerSO
Procedural layer that toggles a GameObject on/off through a sequence of activation steps. Applies activation changes via ActivationDelta for per-instance one-shot or repeating on/off sequences (e.g. muzzle flash meshes, telegraph indicators, a weapon's spark effect).
Weight is a gate, not a blend. Unlike other sequence layers, activation is a boolean —
blending it makes no sense. If weight <= 0.001f this layer contributes nothing to the
ActivationDelta; otherwise it contributes its current step's active value verbatim, with no
lerp/interpolation. Blend-in/blend-out timing on the controlling Rule is therefore meaningless for
this layer kind — weight only gates whether the layer contributes, it never blends the boolean
itself.
Inherited Members
Namespace: Serenity.ProceduralAnimator.Infrastructure.ProceduralLayers
Assembly: Serenity.UnityProceduralAnimator.Infrastructure.dll
Syntax
public class ActivationSequenceLayerSO : ProceduralLayerSO, IProceduralLayer<UnityProceduralContext>, IFoundationSettings
Constructors
ActivationSequenceLayerSO()
Declaration
public ActivationSequenceLayerSO()
Properties
DrivenChannels
Writes only Activation — see the 4-delta Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta, ref TransformDelta, ref ActivationDelta) override below.
Declaration
public override ProceduralChannels DrivenChannels { get; }
Property Value
| Type | Description |
|---|---|
| ProceduralChannels |
Overrides
SequenceDurationSeconds
The sum of all step durations — one full pass through the sequence. Used together with RepeatCount in ON_ACTIVATE mode to know when the sequence has repeated enough times to auto-deactivate.
Declaration
public override float SequenceDurationSeconds { get; }
Property Value
| Type | Description |
|---|---|
| float |
Overrides
Methods
Evaluate(in UnityProceduralContext, float, ref PoseDelta)
Legacy pose-only evaluation. Does nothing for activation layers.
Declaration
public override void Evaluate(in UnityProceduralContext ctx, float weight, ref PoseDelta pose)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityProceduralContext | ctx | |
| float | weight | |
| PoseDelta | pose |
Overrides
Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta, ref TransformDelta, ref ActivationDelta)
Evaluates the activation sequence and, if weight gates it open, writes the current step's active value into the activation delta (see the class-level remarks on weight-as-gate).
Declaration
public override void Evaluate(in UnityProceduralContext ctx, float weight, ref PoseDelta pose, ref MaterialDelta material, ref TransformDelta transform, ref ActivationDelta activation)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityProceduralContext | ctx | |
| float | weight | |
| PoseDelta | pose | |
| MaterialDelta | material | |
| TransformDelta | transform | |
| ActivationDelta | activation |
Overrides
OnLayerActivated()
Optional initialization called when the layer becomes active. Override to set up any required runtime state.
Declaration
public override void OnLayerActivated()