logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class RecipeSignalCodec

    Bridges recipe RecipeSignalDtos and the [SerializeReference] signal slots on menus, modals, and options, reusing RecipeSerializedPropertyCodec so a signal (parameterless marker or one carrying serialized data) is wired and captured exactly like a generic asset's managed reference. This is the implementation of "typed menu/modal signal wiring" (recipe automation Gap 4).

    Inheritance
    object
    RecipeSignalCodec
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.ProjectRecipe.Infrastructure.Editor
    Assembly: Serenity.UnityProjectRecipe.Infrastructure.Editor.dll
    Syntax
    public static class RecipeSignalCodec

    Fields

    OptionSubmitSignalsField

    The serialized field name of the per-option submit-signal list on a UiOption.

    Declaration
    public const string OptionSubmitSignalsField = "OnSubmitSignals"
    Field Value
    Type Description
    string

    Methods

    ApplyList(SerializedObject, string, RecipeSignalDto[], List<string>)

    Applies a list of signals to a [SerializeReference] List field on serializedObject. A null signals leaves the list untouched; a non-null array (including empty) replaces it.

    Declaration
    public static void ApplyList(SerializedObject serializedObject, string fieldName, RecipeSignalDto[] signals, List<string> warnings)
    Parameters
    Type Name Description
    SerializedObject serializedObject
    string fieldName
    RecipeSignalDto[] signals
    List<string> warnings

    ApplyOptionSignals(SerializedProperty, RecipeUiOptionDto[], List<string>)

    Applies each option's submitSignals onto the matching element of an options array property (a menu's Options or a modal's showModalParameters.Options). The array is assumed already sized to the option DTOs (built by RecipeUiOptionFactory.Build).

    Declaration
    public static void ApplyOptionSignals(SerializedProperty optionsArray, RecipeUiOptionDto[] options, List<string> warnings)
    Parameters
    Type Name Description
    SerializedProperty optionsArray
    RecipeUiOptionDto[] options
    List<string> warnings

    ApplySingle(SerializedObject, string, RecipeSignalDto, List<string>)

    Applies a single signal to a managed-reference field on serializedObject. A null signal leaves the field untouched (so omitting it does not clear an existing signal).

    Declaration
    public static void ApplySingle(SerializedObject serializedObject, string fieldName, RecipeSignalDto signal, List<string> warnings)
    Parameters
    Type Name Description
    SerializedObject serializedObject
    string fieldName
    RecipeSignalDto signal
    List<string> warnings

    CaptureList(SerializedObject, string, List<string>)

    Captures a [SerializeReference] List signal field into DTOs, or null when empty/absent.

    Declaration
    public static RecipeSignalDto[] CaptureList(SerializedObject serializedObject, string fieldName, List<string> warnings)
    Parameters
    Type Name Description
    SerializedObject serializedObject
    string fieldName
    List<string> warnings
    Returns
    Type Description
    RecipeSignalDto[]

    CaptureOptionSignals(SerializedProperty, RecipeUiOptionDto[], List<string>)

    Captures each option's submit signals from an options array property into the matching option DTO's submitSignals (the inverse of ApplyOptionSignals(SerializedProperty, RecipeUiOptionDto[], List<string>)).

    Declaration
    public static void CaptureOptionSignals(SerializedProperty optionsArray, RecipeUiOptionDto[] optionDtos, List<string> warnings)
    Parameters
    Type Name Description
    SerializedProperty optionsArray
    RecipeUiOptionDto[] optionDtos
    List<string> warnings

    CaptureSingle(SerializedObject, string, List<string>)

    Captures a single managed-reference signal field into a DTO, or null when unset.

    Declaration
    public static RecipeSignalDto CaptureSingle(SerializedObject serializedObject, string fieldName, List<string> warnings)
    Parameters
    Type Name Description
    SerializedObject serializedObject
    string fieldName
    List<string> warnings
    Returns
    Type Description
    RecipeSignalDto

    FromManagedNode(RecipeNode)

    Converts a captured managed-reference node back to a signal DTO, or null when the slot is empty.

    Declaration
    public static RecipeSignalDto FromManagedNode(RecipeNode node)
    Parameters
    Type Name Description
    RecipeNode node

    A node captured from a signal property.

    Returns
    Type Description
    RecipeSignalDto

    The signal DTO, or null when the node is null/empty (an unset reference).

    ToManagedNode(RecipeSignalDto)

    Builds a managed-reference node from a signal DTO (the input to the codec's apply path).

    Declaration
    public static RecipeNode ToManagedNode(RecipeSignalDto signal)
    Parameters
    Type Name Description
    RecipeSignalDto signal

    The signal description (must be non-null with a type).

    Returns
    Type Description
    RecipeNode

    A Managed node.

    In this article
    © 2026 Serenity. All Rights Reserved