logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class RecipeSignalListMerger

    Meets a recipe option's submit signals with the signals the option already owns, by identity rather than by position: a recipe signal is matched to an existing one by its Guid, or — when either side has none — to the existing signal at the same position when it has the same type. A matched signal is edited in place, an existing signal the recipe leaves out is left untouched, a recipe signal with no match is appended into a slot of its own, and the list takes the recipe's order only when the recipe lists every signal (RecipeListOrder). Every signal the recipe writes leaves with a Guid, so a blank one is filled on its first write. A recipe signal is refused instead of written when it would give a signal a Guid another signal of the option already owns, or when its Guid matches nothing while the signal of the same type at its position carries a Guid of its own no recipe signal claims (RecipeIdentityConflict) — never appended beside it.

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

    Methods

    Merge(SerializedProperty, RecipeSignalDto[], string, List<string>)

    Merges recipeSignals into the [SerializeReference] signal list signalList. Signals whose type cannot be resolved are skipped (validation reported them); call ApplyModifiedProperties* on the owning object afterwards.

    Declaration
    public static RecipeIdentityRefusals Merge(SerializedProperty signalList, RecipeSignalDto[] recipeSignals, string optionId, List<string> warnings)
    Parameters
    Type Name Description
    SerializedProperty signalList

    The option's submit-signal list property.

    RecipeSignalDto[] recipeSignals

    The recipe's signals for that option (not null).

    string optionId

    The option's Id, named in every conflict.

    List<string> warnings

    Collects messages about fields the codec could not write.

    Returns
    Type Description
    RecipeIdentityRefusals

    Each recipe signal left out rather than written.

    In this article
    © 2026 Serenity. All Rights Reserved