docs.unity3d.com
    Show / Hide Table of Contents

    Class SwitchUnit<T>

    Inheritance
    Object
    GraphElement<FlowGraph>
    Unit<FlowGraph>
    Unit
    SwitchUnit<T>
    SwitchOnInteger
    SwitchOnString
    Inherited Members
    Unit<FlowGraph>.IUnit.parentGraph
    Unit<FlowGraph>.CreateDebugData()
    Unit<FlowGraph>.AfterAdd(FlowGraph)
    Unit<FlowGraph>.BeforeRemove(FlowGraph)
    Unit<FlowGraph>.Dispose()
    Unit<FlowGraph>.failedToDefine
    Unit<FlowGraph>.isDefined
    Unit<FlowGraph>.AfterDefine()
    Unit<FlowGraph>.BeforeUndefine()
    Unit<FlowGraph>.EnsureDefined()
    Unit<FlowGraph>.Define()
    Unit<FlowGraph>.RemoveUnconnectedInvalidPorts()
    Unit<FlowGraph>.OnGraphStructureChanged()
    Unit<FlowGraph>.controlInputs
    Unit<FlowGraph>.controlOutputs
    Unit<FlowGraph>.valueInputs
    Unit<FlowGraph>.valueOutputs
    Unit<FlowGraph>.invalidInputs
    Unit<FlowGraph>.invalidOutputs
    Unit<FlowGraph>.inputs
    Unit<FlowGraph>.outputs
    Unit<FlowGraph>.validInputs
    Unit<FlowGraph>.validOutputs
    Unit<FlowGraph>.ports
    Unit<FlowGraph>.invalidPorts
    Unit<FlowGraph>.validPorts
    Unit<FlowGraph>.controlInputsData
    Unit<FlowGraph>.controlOutputsData
    Unit<FlowGraph>.valueInputsData
    Unit<FlowGraph>.valueOutputsData
    Unit<FlowGraph>.IUnit.controlInputsData
    Unit<FlowGraph>.IUnit.controlOutputsData
    Unit<FlowGraph>.IUnit.valueInputsData
    Unit<FlowGraph>.IUnit.valueOutputsData
    Unit<FlowGraph>.relations
    Unit<FlowGraph>.connections
    Unit<FlowGraph>.Disconnect()
    Unit<FlowGraph>.ControlInput(String, Func<Flow, ControlOutput>)
    Unit<FlowGraph>.ControlInputCoroutine(String, Func<Flow, IEnumerator>)
    Unit<FlowGraph>.ControlInputCoroutine(String, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)
    Unit<FlowGraph>.ControlInput(ControlInputDefinition, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)
    Unit<FlowGraph>.ControlOutput(String)
    Unit<FlowGraph>.ControlOutput(ControlOutputDefinition)
    Unit<FlowGraph>.ValueInput(HybridType, String)
    Unit<FlowGraph>.ValueInput<T>(String)
    Unit<FlowGraph>.ValueInput<T>(String, T)
    Unit<FlowGraph>.ValueInput(ValueInputDefinition)
    Unit<FlowGraph>.ValueOutput(HybridType, String)
    Unit<FlowGraph>.ValueOutput(HybridType, String, Func<Flow, Object>)
    Unit<FlowGraph>.ValueOutput<T>(String)
    Unit<FlowGraph>.ValueOutput<T>(String, Func<Flow, T>)
    Unit<FlowGraph>.ValueOutput(ValueOutputDefinition)
    Unit<FlowGraph>.ValueOutput(ValueOutputDefinition, Func<Flow, Object>)
    Unit<FlowGraph>.Requirement(ValueInput, ControlInput)
    Unit<FlowGraph>.Requirement(ValueInput, ValueOutput)
    Unit<FlowGraph>.Assignment(ValueOutput, ValueOutput)
    Unit<FlowGraph>.Assignment(ControlInput, ValueOutput)
    Unit<FlowGraph>.Succession(ControlInput, ControlOutput)
    Unit<FlowGraph>.Succession(ControlOutput, ControlOutput)
    Unit<FlowGraph>.Delegation(ValueOutput, ControlOutput)
    Unit<FlowGraph>.position
    Unit<FlowGraph>.definitionException
    Unit<FlowGraph>.OnBeforeSerialize()
    Unit<FlowGraph>.OnAfterDeserialize()
    GraphElement<FlowGraph>.guid
    GraphElement<FlowGraph>.modules
    GraphElement<FlowGraph>.IGraphChild.associatedElement
    GraphElement<FlowGraph>.requiresInstantiation
    GraphElement<FlowGraph>.Instantiate(GraphReference)
    GraphElement<FlowGraph>.Uninstantiate(GraphReference)
    GraphElement<FlowGraph>.INotifiedCollectionChild<IGraph>.BeforeAdd(IGraph)
    GraphElement<FlowGraph>.INotifiedCollectionChild<IGraph>.AfterAdd(IGraph)
    GraphElement<FlowGraph>.INotifiedCollectionChild<IGraph>.BeforeRemove(IGraph)
    GraphElement<FlowGraph>.INotifiedCollectionChild<IGraph>.AfterRemove(IGraph)
    GraphElement<FlowGraph>.BeforeAdd(FlowGraph)
    GraphElement<FlowGraph>.AfterRemove(FlowGraph)
    GraphElement<FlowGraph>.dependencyOrder
    GraphElement<FlowGraph>.HandleDependencies()
    GraphElement<FlowGraph>.parentGraph
    GraphElement<FlowGraph>.ICollectionChild<IGraph>.parent
    GraphElement<FlowGraph>.IGraphChild.parentGraph
    GraphElement<FlowGraph>.deserializationDependencies
    GraphElement<FlowGraph>.Prewarm()
    GraphElement<FlowGraph>.IsDisposed
    GraphElement<FlowGraph>.ToString()
    GraphElement<FlowGraph>.PropertyChanged
    GraphElement<FlowGraph>.OnPropertyChanged(Object, PropertyChangedEventArgs)
    GraphElement<FlowGraph>.OnPropertyChanged(String)
    Namespace: Ludiq.Bolt
    Syntax
    [TypeIcon(typeof(IBranchUnit))]
    public abstract class SwitchUnit<T> : Unit, ISerializationCallbackReceiver, IBranchUnit, IUnit, IGraphElementWithDebugData, IGraphElement, IGraphChild, IObservableDisposable, IDisposable, INotifiedCollectionChild<IGraph>, ICollectionChild<IGraph>, IPrewarmable, IIdentifiable, INotifyPropertyChanged
    Type Parameters
    Name Description
    T

    Properties

    branches

    Declaration
    [DoNotSerialize]
    public List<KeyValuePair<T, ControlOutput>> branches { get; }
    Property Value
    Type Description
    List<KeyValuePair<T, ControlOutput>>

    canDefine

    Declaration
    public override bool canDefine { get; }
    Property Value
    Type Description
    Boolean
    Overrides
    Ludiq.Bolt.Unit<Ludiq.Bolt.FlowGraph>.canDefine
    Implements
    IUnit.canDefine

    default

    The branch to take if the input value does not match any other option.

    Declaration
    [DoNotSerialize]
    public ControlOutput default { get; }
    Property Value
    Type Description
    ControlOutput

    enter

    The entry point for the switch.

    Declaration
    [DoNotSerialize]
    [UnitPortDisplay(showLabel = false, showDocumentation = false)]
    public ControlInput enter { get; }
    Property Value
    Type Description
    ControlInput
    Implements
    IBranchUnit.enter

    options

    Declaration
    [Inspectable]
    [Serialize]
    public List<T> options { get; set; }
    Property Value
    Type Description
    List<T>

    selector

    The value on which to switch.

    Declaration
    [DoNotSerialize]
    [UnitPortDisplay(showLabel = false)]
    public ValueInput selector { get; }
    Property Value
    Type Description
    ValueInput

    Methods

    Definition()

    Declaration
    protected override void Definition()
    Overrides
    Ludiq.Bolt.Unit<Ludiq.Bolt.FlowGraph>.Definition()

    Enter(Flow)

    Declaration
    public ControlOutput Enter(Flow flow)
    Parameters
    Type Name Description
    Flow flow
    Returns
    Type Description
    ControlOutput

    Matches(T, T)

    Declaration
    protected virtual bool Matches(T a, T b)
    Parameters
    Type Name Description
    T a
    T b
    Returns
    Type Description
    Boolean

    Extension Methods

    XDescriptorProvider.Descriptor(Object)
    XDescriptorProvider.Descriptor<TDescriptor>(Object)
    LiteralUtility.ToLiteralString(Object)
    LiteralUtility.ToLiteralStringOrDefault(Object)
    LiteralUtility.TryToLiteralString(Object, out String)
    Cloning.Clone(Object, ICloner, Boolean)
    Cloning.Clone(Object, ICloner, Boolean, out Dictionary<Object, Object>)
    Cloning.Clone<T>(T, ICloner, Boolean)
    Cloning.Clone<T>(T, ICloner, Boolean, out Dictionary<Object, Object>)
    Cloning.CloneViaSerializationPolicy(Object)
    Cloning.CloneViaSerializationPolicy(Object, out Dictionary<Object, Object>)
    Cloning.CloneViaSerializationPolicy<T>(T)
    Cloning.CloneViaSerializationPolicy<T>(T, out Dictionary<Object, Object>)
    Cloning.CloneInto(Object, ref Object, ICloner, Boolean)
    Cloning.CloneInto(Object, ref Object, ICloner, Boolean, out Dictionary<Object, Object>)
    Cloning.CloneInto<T>(T, ref Object, ICloner, Boolean)
    Cloning.CloneInto<T>(T, ref Object, ICloner, Boolean, out Dictionary<Object, Object>)
    Cloning.CloneIntoViaSerializationPolicy(Object, ref Object)
    Cloning.CloneIntoViaSerializationPolicy(Object, ref Object, out Dictionary<Object, Object>)
    Cloning.CloneIntoViaSerializationPolicy<T>(T, ref Object)
    Cloning.CloneIntoViaSerializationPolicy<T>(T, ref Object, out Dictionary<Object, Object>)
    Cloning.CloneValueType(Object)
    ConversionUtility.ConvertTo<TSource>(TSource, Type)
    ConversionUtility.IsLateConvertibleTo(Object, Type, Boolean)
    ConversionUtility.IsLateConvertibleTo<T>(Object, Boolean)
    ConversionUtility.LateConvertTo(Object, Type)
    ConversionUtility.LateConvertTo<T>(Object)
    ConversionUtility.TryLateConvertTo(Object, Type, out Object, Boolean)
    ConversionUtility.TryLateConvertTo<T>(Object, out T, Boolean)
    TypeUtility.ToShortString(Object, Int32)
    TypeUtility.CastTo<T>(Object)
    Serialization.FullSerialize(Object, Boolean)
    Serialization.OdinSerialize<T>(T, DataFormat)
    Serialization.OdinSerialize<T>(T, ref SerializationData, DataFormat)
    XObservableDisposable.EnsureNotDisposed(IObservableDisposable)
    LinqUtility.Yield<T>(T)
    UnityObjectUtility.IsUnityNull(Object)
    UnityObjectUtility.UnityNullCoalesce(Object, Object)
    UnityObjectUtility.ToSafeString(Object)
    XFilterProvider.Filter(Object)
    XFilterProvider.Filter<TFilter>(Object)
    BoltGenerationUtility.GenerateLiteral(Object, IGeneration)
    XGeneratorProvider.Generator(Object, IGeneration)
    XGeneratorProvider.Generator<TGenerator>(Object, IGeneration)
    XGeneratorProvider.HasGenerator(Object, IGeneration)
    XGeneratorProvider.HasGenerator<TGenerator>(Object, IGeneration)
    XGeneratorProvider.TryGetGenerator(Object, out IGenerator, IGeneration)
    XGeneratorProvider.TryGetGenerator<TGenerator>(Object, IGeneration, out TGenerator)
    XUnitOptionProvider.Option(IUnit)
    XUnitOptionProvider.Option<TOption>(IUnit)
    HybridConversionUtility.ConvertTo(Object, HybridType, HybridType)
    HybridConversionUtility.IsLateConvertibleTo(Object, HybridType, Boolean)
    HybridConversionUtility.LateConvertTo(Object, HybridType)
    HybridConversionUtility.TryLateConvertTo(Object, HybridType, out Object, Boolean)
    HybridTypeUtility.GetHybridType(Object)
    IsUtility.Is<TO, TC>(TO, out TC)
    GraphsExceptionUtility.GetException(IGraphElementWithDebugData, GraphPointer)
    GraphsExceptionUtility.SetException(IGraphElementWithDebugData, GraphPointer, Exception)
    GraphsExceptionUtility.ClearExceptionInHierarchy(IGraphElementWithDebugData, GraphPointer)
    GraphsExceptionUtility.HandleException(IGraphElementWithDebugData, GraphPointer, Exception)
    XUnit.CompatibleValueInput(IUnit, HybridType)
    XUnit.CompatibleValueOutput(IUnit, HybridType)
    UnitDefinitionUtility.DefineControlInput(IUnit, String, Func<Flow, ControlOutput>)
    UnitDefinitionUtility.DefineControlInputCoroutine(IUnit, String, Func<Flow, IEnumerator>)
    UnitDefinitionUtility.DefineControlInputCoroutine(IUnit, String, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)
    UnitDefinitionUtility.DefineControlInput(IUnit, ControlInputDefinition, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)
    UnitDefinitionUtility.DefineControlOutput(IUnit, String)
    UnitDefinitionUtility.DefineControlOutput(IUnit, ControlOutputDefinition)
    UnitDefinitionUtility.DefineValueInput(IUnit, HybridType, String)
    UnitDefinitionUtility.DefineValueInput<T>(IUnit, String)
    UnitDefinitionUtility.DefineValueInput<T>(IUnit, String, T)
    UnitDefinitionUtility.DefineValueInput(IUnit, ValueInputDefinition)
    UnitDefinitionUtility.DefineValueOutput(IUnit, HybridType, String)
    UnitDefinitionUtility.DefineValueOutput(IUnit, HybridType, String, Func<Flow, Object>)
    UnitDefinitionUtility.DefineValueOutput<T>(IUnit, String)
    UnitDefinitionUtility.DefineValueOutput<T>(IUnit, String, Func<Flow, T>)
    UnitDefinitionUtility.DefineValueOutput(IUnit, ValueOutputDefinition)
    UnitDefinitionUtility.DefineValueOutput(IUnit, ValueOutputDefinition, Func<Flow, Object>)
    UnitDefinitionUtility.DefineRequirement(IUnit, ValueInput, ControlInput)
    UnitDefinitionUtility.DefineRequirement(IUnit, ValueInput, ValueOutput)
    UnitDefinitionUtility.DefineAssignment(IUnit, ValueOutput, ValueOutput)
    UnitDefinitionUtility.DefineAssignment(IUnit, ControlInput, ValueOutput)
    UnitDefinitionUtility.DefineSuccession(IUnit, ControlInput, ControlOutput)
    UnitDefinitionUtility.DefineSuccession(IUnit, ControlOutput, ControlOutput)
    UnitDefinitionUtility.DefineDelegation(IUnit, ValueOutput, ControlOutput)
    PrivateReflectionUsingDynamicExtensions.AsDynamic(Object)
    JsonWriter.ToJson(Object)
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023