logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class DeathFallActionSO

    Action that plays a per-zone death-fall collapse pose: a fast snap into the pose (head, spine, neck, and hips reach their authored target rotations), then a decaying flail as the limp body settles for the remainder of the duration.

    Inheritance
    object
    ProceduralActionSO
    DeathFallActionSO
    Implements
    IProceduralAction<UnityProceduralContext>
    IFoundationSettings
    Inherited Members
    ProceduralActionSO.Id
    ProceduralActionSO.Guid
    ProceduralActionSO.displayName
    ProceduralActionSO.cooldownSeconds
    ProceduralActionSO.minDurationSeconds
    ProceduralActionSO.priority
    ProceduralActionSO.CanStart(in UnityProceduralContext)
    ProceduralActionSO.OnStop(in UnityProceduralContext, ActionRuntimeState)
    ProceduralActionSO.DisplayName
    ProceduralActionSO.CooldownSeconds
    ProceduralActionSO.MinDurationSeconds
    ProceduralActionSO.Priority
    Namespace: Serenity.ProceduralAnimator.Infrastructure.ProceduralActions
    Assembly: Serenity.UnityProceduralAnimator.Infrastructure.dll
    Syntax
    public class DeathFallActionSO : ProceduralActionSO, IProceduralAction<UnityProceduralContext>, IFoundationSettings
    Remarks

    This type's field names (duration, headSnapEuler, spineArchEuler, neckLimpEuler, hipsTwistEuler, flailFrequency, flailAmplitudeEuler) are load-bearing: RailShooter.Enemy.Infrastructure.Editor.EnemyDeathAuthoringTool already authors 5 pose assets (Backflip/Crumple/Pirouette/SpinOut/FacePlant) against this exact SerializedObject property contract, and RailShooter.Enemy.Infrastructure.Settings.EnemyDeathReactionConfigSO.ZoneReaction.poseAction already references pre-authored instances of this type by GUID — this class was the one missing piece keeping the whole project from compiling.

    Constructors

    DeathFallActionSO()

    Declaration
    public DeathFallActionSO()

    Methods

    IsFinished(in UnityProceduralContext, ActionRuntimeState)

    Checks if this action has finished.

    Declaration
    public override bool IsFinished(in UnityProceduralContext ctx, ActionRuntimeState runtime)
    Parameters
    Type Name Description
    UnityProceduralContext ctx

    The procedural context.

    ActionRuntimeState runtime

    Runtime state for this action instance.

    Returns
    Type Description
    bool

    True if the action should stop.

    Overrides
    ProceduralActionSO.IsFinished(in UnityProceduralContext, ActionRuntimeState)

    OnStart(in UnityProceduralContext, ActionRuntimeState)

    Called when the action starts. Override to initialize action-specific state.

    Declaration
    public override void OnStart(in UnityProceduralContext ctx, ActionRuntimeState runtime)
    Parameters
    Type Name Description
    UnityProceduralContext ctx

    The procedural context.

    ActionRuntimeState runtime

    Runtime state for this action instance.

    Overrides
    ProceduralActionSO.OnStart(in UnityProceduralContext, ActionRuntimeState)

    Tick(in UnityProceduralContext, ActionRuntimeState, ref PoseDelta)

    Called every frame while the action is active. Adds the action's contribution to the pose delta.

    Declaration
    public override void Tick(in UnityProceduralContext ctx, ActionRuntimeState runtime, ref PoseDelta pose)
    Parameters
    Type Name Description
    UnityProceduralContext ctx

    The procedural context.

    ActionRuntimeState runtime

    Runtime state for this action instance.

    PoseDelta pose

    The pose delta to add contributions to.

    Overrides
    ProceduralActionSO.Tick(in UnityProceduralContext, ActionRuntimeState, ref PoseDelta)

    Implements

    IProceduralAction<TContext>
    IFoundationSettings
    In this article
    © 2026 Serenity. All Rights Reserved