forked from BilalY/Rasagar
4.2 KiB
4.2 KiB
Switch
Menu Path : Operator > Logic > Switch
The Switch Operator compares its input to case values and outputs a value which depends on whether the input matches a case:
- If the input matches a case value, this Operator outputs the value that corresponds to the matched case.
- If the input does not match a case value, this Operator outputs a default value.
This works similarly to a switch statement in C#.
Operator settings
Property | Type | Description |
---|---|---|
Entry Count | Unsigned int | The number of cases to test. The maximum value is 32. |
Custom Case Value | bool | (Inspector) When enabled, you can specify custom case integers for each case. Otherwise, this Operator uses the default natural. |
Operator properties
Input | Type | Description |
---|---|---|
Test Value | int | Input integer value which is going to be tested with the case entries. If you enable Custom Case Value and this value matches more than one case, this Operator outputs the first entry that matches. |
Case 0 | int | The value to test for the first case. If you assign this port, it overrides the value this Operator checks Test Value against. The default value for this port is 0. This port only appears if you enable Custom Case Value. |
Value 0 | Configurable | The value to output if Test Value matches Case 0. |
Case 1 | int | The value to test for the first case. If you assign this port, it overrides the value this Operator checks Test Value against. The default value for this port is 1. This port only appears if you enable Custom Case Value. |
Value 1 | Configurable | The value to output if Test Value matches Case 1. |
Case N | int | To expose more cases, increase the Entry Count. |
Value N | Configurable | To expose more values, increase the Entry Count. |
Default | Configurable | The default value to output if no cases match. |
Output | Type | Description |
---|---|---|
Output | Configurable | The value that corresponds to the case that matches Test Value, or Default if no cases match. |
Operator configuration
To view the Operator's configuration, click the cog icon in the Operator's header.
Property | Description |
---|---|
Type | The value type this Operator uses. For the list of types this property supports, see Available types. |
Available types
You can use the following types for your Input values and Output ports:
- Bool
- Int
- Uint
- Float
- Vector2
- Vector3
- Vector4
- Gradient
- AnimationCurve
- Matrix
- OrientedBox
- Color
- Direction
- Position
- Vector
- Transform
- Circle
- ArcCircle
- Sphere
- ArcSphere
- AABox
- Plane
- Cylinder
- Cone
- ArcCone
- Torus
- ArcTorus
- Line
- Flipbook
- Camera
This list does not include any type that corresponds to a buffer or texture because it is not possible to assign these types as local variables in generated HLSL code.