logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class UnityConfiguredSignalParameter

    Serializable holder for a single value passed to an Inspector-configured signal — either a constructor argument of the signal itself, or, recursively, a constructor argument of a nested complex parameter.
    The value is stored in the field matching Kind, which lets Unity serialize struct/Object parameter types natively. Complex (class/struct) parameters store their own constructor signature and the nested argument values in Children, forming a tree.

    Inheritance
    object
    UnityConfiguredSignalParameter
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    Namespace: Serenity.EventDispatcher.Infrastructure.Settings
    Assembly: Serenity.UnityGlobal.Infrastructure.dll
    Syntax
    public sealed class UnityConfiguredSignalParameter

    Constructors

    UnityConfiguredSignalParameter()

    Declaration
    public UnityConfiguredSignalParameter()

    Fields

    Children

    Declaration
    public List<UnityConfiguredSignalParameter> Children
    Field Value
    Type Description
    List<UnityConfiguredSignalParameter>

    For Complex parameters: the configured argument values for the chosen constructor, in declaration order.
    Serialized by reference so the parameter tree can nest arbitrarily without hitting Unity's nested-serialization depth limit.

    ConstructorParamTypes

    Declaration
    public List<string> ConstructorParamTypes
    Field Value
    Type Description
    List<string>

    For Complex parameters: AssemblyQualifiedNames of the chosen constructor's parameter types (identifies the overload used to build the value).

    DoubleValue

    Declaration
    public double DoubleValue
    Field Value
    Type Description
    double

    Backing value for float and double parameters.

    Expanded

    Declaration
    public bool Expanded
    Field Value
    Type Description
    bool

    Inspector foldout state for complex parameters (UI only).

    IncludeOptional

    Declaration
    public bool IncludeOptional
    Field Value
    Type Description
    bool

    For a parameter whose type is Nullable<T>: when false, the parameter resolves to null and the value controls are hidden. Defaults to false so optional parameters start "not provided" (matching a C# = null default). Ignored for non-nullable parameters.

    Kind

    Declaration
    public SignalParameterKind Kind
    Field Value
    Type Description
    SignalParameterKind

    The category of the parameter, determining which value field below is authoritative.

    LongValue

    Declaration
    public long LongValue
    Field Value
    Type Description
    long

    Backing value for int, long, bool (0/1) and enum (underlying numeric) parameters.

    Name

    Declaration
    public string Name
    Field Value
    Type Description
    string

    Name of the constructor parameter this value maps to (for display and value preservation).

    ObjectValue

    Declaration
    public Object ObjectValue
    Field Value
    Type Description
    Object

    Backing value for UnityObject reference parameters.

    StringValue

    Declaration
    public string StringValue
    Field Value
    Type Description
    string

    Backing value for String.

    TypeName

    Declaration
    public string TypeName
    Field Value
    Type Description
    string

    AssemblyQualifiedName of the parameter type, used for control selection and validation.

    VectorValue

    Declaration
    public Vector4 VectorValue
    Field Value
    Type Description
    Vector4

    Backing value for Vector2 (xy), Vector3 (xyz), Quaternion (xyzw) and Color (rgba) parameters.

    Methods

    ClassifyLeafKind(Type)

    Maps a CLR Type to the leaf SignalParameterKind that represents it directly (primitive, Unity struct, enum or Object reference), returning Unsupported for anything that is not a directly editable leaf (including complex types, which are classified by SignalParameterReflection).

    Declaration
    public static SignalParameterKind ClassifyLeafKind(Type type)
    Parameters
    Type Name Description
    Type type

    The parameter type to classify.

    Returns
    Type Description
    SignalParameterKind

    The matching leaf kind, or Unsupported.

    ResolveLeaf(Type)

    Converts the stored value into an instance assignable to a leaf targetType (primitive, Unity struct, enum or Object reference).
    Complex parameters are not handled here; they are built by UnityEventDispatcherSignalBuilder.

    Declaration
    public object ResolveLeaf(Type targetType)
    Parameters
    Type Name Description
    Type targetType

    The leaf parameter type to convert to.

    Returns
    Type Description
    object

    The boxed argument value.

    Exceptions
    Type Condition
    ArgumentException

    Thrown when the type is not a supported leaf, the value cannot be converted, or a supplied UnityEngine.Object reference does not match the required type.

    In this article
    © 2026 Serenity. All Rights Reserved