Category:Enums: Difference between revisions

Category page
m Added two types
m trailing whitespace grrr
 
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Enums (Enumerated Types) are Value Types which define a list of constants. These constants are mapped inside an Enum to an underlying numerical value. For example a simple Enum might be the days of the week:
<languages />


* Monday - 0
<translate>
* Tuesday - 1
'''Enums''' (short for enumerated types) are [[value types]] that define a list of named constants. These constant names are mapped to underlying [[Type:Int|integer]] values.
* Wednesday - 2
</translate>
* Thursday - 3
* Friday - 4
* Saturday - 5
* Sunday - 6


Enums are useful when you want a defined set of behavior for a system to follow or when you want two components of a system to speak a common language.
<translate>
As a general example, a simple enum might be the days of the week:
</translate>


In Resonite you will mostly come across Enums when you are dealing with certain ProtoFlux nodes or Components which have sets of predefined behavior which can be altered or changed by changing a value of an Enum.  
{{Table EnumValues
|<translate>Monday</translate>|0|<translate>The first day of the week.</translate>
|<translate>Tuesday</translate>|1|<translate>The second day of the week.</translate>
|<translate>Wednesday</translate>|2|<translate>The third day of the week.</translate>
|<translate>Thursday</translate>|3|<translate>The fourth day of the week.</translate>
|<translate>Friday</translate>|4|<translate>The fifth day of the week.</translate>
|<translate>Saturday</translate>|5|<translate>The sixth day of the week.</translate>
|<translate>Sunday</translate>|6|<translate>The seventh day of the week.</translate>
}}


For example, In the [[Tween Value (ProtoFlux)|Tween Node]], there is an input called [[Type:CurvePreset|CurvePreset]] which defines the type of Curve a Tween operation follows. By altering this Enum, you can change usually how smooth a Tween operation is.
<translate>
Enums are commonly used in [[Resonite]] to select between different sets of behavior on [[components]] or in [[ProtoFlux]]. In an [[inspector]], enums are shown by their name along with the ability to switch between the defined values.
</translate>


[[Category:Type]]
== <translate>Examples</translate> ==
 
<translate>
In the [[ProtoFlux:Tween Value|Tween Node]], there is an input called [[Type:CurvePreset|CurvePreset]] which defines the type of Curve a Tween operation follows. By altering this Enum, you can change usually how smooth a Tween operation is.
</translate>
 
== <translate>In ProtoFlux</translate> ==
 
<translate>[[ProtoFlux]] has [[:Category:ProtoFlux:Enums|nodes for working with enum values]], such as converting between names and numeric values.</translate>
 
== <translate>Notes</translate> ==
 
<translate>
Enums may have multiple different names for the same value (example: [[Type:SessionAccessLevel|SessionAccessLevel]])
</translate>
 
== <translate>See Also</translate> ==


* [[:Category:Components With Nested Enums]] <translate>for enums that are a [[:Category:Components With Nested Types|nested type]] of a [[Component]].</translate>
* [https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/enum <translate>Microsoft documentation for C# enums.</translate>]


[[Category:Type]]
<!--
<!--
TODO:  
TODO:  
Line 26: Line 53:
* [[Type:CameraPositioningMode|CameraPositioningMode]]
* [[Type:CameraPositioningMode|CameraPositioningMode]]
* [[Type:Clear|Clear]]
* [[Type:Clear|Clear]]
* [[Type:ColorMask|ColorMask]]
* [[Type:Culling|Culling]]
* [[Type:Culling|Culling]]
* [[Type:CurvePreset|CurvePreset]]
* [[Type:HeadOutputDevice|HeadOutputDevice]]
* [[Type:HeadOutputDevice|HeadOutputDevice]]
* [[Type:HttpStatusCode|HttpStatusCode]]
* [[Type:Key|Key]]
* [[Type:LightType|LightType]]
* [[Type:LightType|LightType]]
* [[Type:SessionAccountLevel|SessionAccountLevel]]
* [[Type:SessionAccountLevel|SessionAccountLevel]]

Latest revision as of 21:06, 30 January 2025


Enums (short for enumerated types) are value types that define a list of named constants. These constant names are mapped to underlying integer values.

As a general example, a simple enum might be the days of the week:

Values
Name Value Description
Monday 0 The first day of the week.
Tuesday 1 The second day of the week.
Wednesday 2 The third day of the week.
Thursday 3 The fourth day of the week.
Friday 4 The fifth day of the week.
Saturday 5 The sixth day of the week.
Sunday 6 The seventh day of the week.

Enums are commonly used in Resonite to select between different sets of behavior on components or in ProtoFlux. In an inspector, enums are shown by their name along with the ability to switch between the defined values.

Examples

In the Tween Node, there is an input called CurvePreset which defines the type of Curve a Tween operation follows. By altering this Enum, you can change usually how smooth a Tween operation is.

In ProtoFlux

ProtoFlux has nodes for working with enum values, such as converting between names and numeric values.

Notes

Enums may have multiple different names for the same value (example: SessionAccessLevel)

See Also

Pages in category "Enums"

The following 161 pages are in this category, out of 161 total.