logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class TransformDelta

    Represents a collection of transform scale changes for procedural animation. Analogous to MaterialDelta but for transform scale instead of material colors.

    Combination Semantics: Uses last-write-wins per TransformId. When combining two TransformDeltas, entries from the other delta overwrite existing entries with the same TransformId. This is deterministic given consistent ordering.

    Weight Semantics: Weight represents blend strength, not multiplicative contribution. A weight of 0 means "no change" (identity scale preserved), and 1 means "full delta applied". The applier is responsible for lerping between identity and delta scale based on weight.

    Inheritance
    object
    TransformDelta
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.ProceduralExpression.Domain.Entities
    Assembly: Serenity.ProceduralExpression.Domain.dll
    Syntax
    public class TransformDelta

    Constructors

    TransformDelta()

    Creates an empty TransformDelta with no entries.

    Declaration
    public TransformDelta()

    Properties

    Count

    Gets the number of entries in this delta.

    Declaration
    public int Count { get; }
    Property Value
    Type Description
    int

    IsEmpty

    Checks if this delta has any entries.

    Declaration
    public bool IsEmpty { get; }
    Property Value
    Type Description
    bool

    Methods

    Clear()

    Clears all transform scale entries.

    Declaration
    public void Clear()

    Clone()

    Creates a deep copy of this TransformDelta.

    Declaration
    public TransformDelta Clone()
    Returns
    Type Description
    TransformDelta

    A new TransformDelta with the same entries.

    Combine(TransformDelta)

    Combines another TransformDelta into this one using last-write-wins semantics. Entries from the other delta overwrite existing entries with the same TransformId.

    Declaration
    public void Combine(TransformDelta other)
    Parameters
    Type Name Description
    TransformDelta other

    The TransformDelta to merge into this one.

    GetEntries()

    Gets all transform scale entries for applier access.

    Declaration
    public IReadOnlyDictionary<TransformId, TransformScaleData> GetEntries()
    Returns
    Type Description
    IReadOnlyDictionary<TransformId, TransformScaleData>

    Read-only dictionary of TransformId to TransformScaleData.

    MultiplyLocalScale(TransformId, Vector3, float)

    Sets the scale multiplier for a transform target with the specified blend weight. If an entry already exists for this TransformId, it is overwritten.

    Declaration
    public void MultiplyLocalScale(TransformId id, Vector3 scaleMultiplier, float weight = 1)
    Parameters
    Type Name Description
    TransformId id

    The transform target identifier.

    Vector3 scaleMultiplier

    The scale multiplier to apply (1,1,1 = no change).

    float weight

    Blend weight (0-1). Default is 1 (full application).

    Scale(float)

    Scales all internal weights by the given factor. Used for layer blending where the layer itself has a weight.

    Declaration
    public void Scale(float weight)
    Parameters
    Type Name Description
    float weight

    The weight multiplier (0-1).

    In this article
    © 2026 Serenity. All Rights Reserved