https://wiki.beyondunreal.com/w/index.php?action=history&feed=atom Enums - Revision history 2017-11-17T23:25:53Z Revision history for this page on the wiki MediaWiki 1.25.1 https://wiki.beyondunreal.com/Enums?diff=46378&oldid=prev SeriousBarbie: added chapter "Enum constants and variables" 2016-10-27T19:01:41Z <p>added chapter &quot;Enum constants and variables&quot;</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 19:01, 27 October 2016</td> </tr><tr><td colspan="2" class="diff-lineno" id="L11" >Line 11:</td> <td colspan="2" class="diff-lineno">Line 11:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Unlike [[structs]], enum types may neither have any modifiers nor contain anything else than their value declarations. By convention, enum names start with the letter '''E''' to easily recognize the type as an enum. This is only a convention, not a requirement, though.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Unlike [[structs]], enum types may neither have any modifiers nor contain anything else than their value declarations. By convention, enum names start with the letter '''E''' to easily recognize the type as an enum. This is only a convention, not a requirement, though.</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=== Enum constants and variables ===</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">After an enum has been defined, use that enumname like a [[Types|data type]]. Examples:</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">&lt;uscript&gt;var EMyEnum MyEnumVar;</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">const EMyEnum MyEnumConst;&lt;/uscript&gt;</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">It is also possible to define an enum and variable at once using the keyword '''[[Variables#Declaration|var]]''' as prefix:</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">&lt;uscript&gt;var enum enumname {</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">&#160; value1, value2,...</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">} variablename;&lt;/uscript&gt;</ins></div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Value declarations==</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Value declarations==</div></td></tr> </table> SeriousBarbie https://wiki.beyondunreal.com/Enums?diff=44882&oldid=prev KingJackaL: updated - you can convert an int to an Enum in UE3, have given example 2012-02-01T05:12:46Z <p>updated - you can convert an int to an Enum in UE3, have given example</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 05:12, 1 February 2012</td> </tr><tr><td colspan="2" class="diff-lineno" id="L42" >Line 42:</td> <td colspan="2" class="diff-lineno">Line 42:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Numbers to enum values===</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Numbers to enum values===</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Converting generic numbers to enum values is <del class="diffchange diffchange-inline">not </del>possible, <del class="diffchange diffchange-inline">since there's no guarantee there's actually </del>a <del class="diffchange diffchange-inline">valid enum value representing that number</del>.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Converting generic numbers to enum values is possible <ins class="diffchange diffchange-inline">(at least in UE3)</ins>, <ins class="diffchange diffchange-inline">by assigning to </ins>a <ins class="diffchange diffchange-inline">temporary variable:</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&#160;</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">&lt;uscript&gt;</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">local EMaterialAdjustmentType TheEnum;</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">TheEnum = 3;</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">`Log(TheEnum);</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">&lt;/uscript&gt;</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&#160;</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">...will return &quot;ADJUST_Bound&quot;. The standard casting syntax for UE3 appears to work:</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&#160;</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">&lt;uscript&gt;</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">`Log(EMaterialAdjustmentType(3));</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">&lt;/uscript&gt;</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&#160;</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">...but this will return &quot;3&quot;</ins>.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Enum value to name===</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Enum value to name===</div></td></tr> </table> KingJackaL https://wiki.beyondunreal.com/Enums?diff=43624&oldid=prev Eliot: /* Value declarations */ Metadata 2010-07-10T02:32:46Z <p>‎<span dir="auto"><span class="autocomment">Value declarations: </span> Metadata</span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 02:32, 10 July 2010</td> </tr><tr><td colspan="2" class="diff-lineno" id="L17" >Line 17:</td> <td colspan="2" class="diff-lineno">Line 17:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>By convention, enum value names start with a series of capital letters specific to the enum's name, followed by an underscore character. For short enum names this is usually the capitalized enum name, like AXIS_X or AXIS_Y for the [[UE2:EAxis (UT2004)|EAxis]] enum. For longer enum names, often either the initial letters of each enum name part are used or one of the parts, possibly shortened, is capitalized. Examples here are the [[UE1:EDrawType (UT)|EDrawType]] enum with values such as DT_Sprite or DT_Mesh and the [[UE3:ENetRole (UT3)|ENetRole]] enum with values such as ROLE_SimulatedProxy or ROLE_Authority.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>By convention, enum value names start with a series of capital letters specific to the enum's name, followed by an underscore character. For short enum names this is usually the capitalized enum name, like AXIS_X or AXIS_Y for the [[UE2:EAxis (UT2004)|EAxis]] enum. For longer enum names, often either the initial letters of each enum name part are used or one of the parts, possibly shortened, is capitalized. Examples here are the [[UE1:EDrawType (UT)|EDrawType]] enum with values such as DT_Sprite or DT_Mesh and the [[UE3:ENetRole (UT3)|ENetRole]] enum with values such as ROLE_SimulatedProxy or ROLE_Authority.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In [[Unreal Engine 3]] there may be a [[metadata <del class="diffchange diffchange-inline">definition</del>]] right after each value declaration to specify the value's [[Metadata <del class="diffchange diffchange-inline">definition</del>#<del class="diffchange diffchange-inline">Displyname</del>|display name]] in any of [[UnrealEd]]'s [[properties lists]].</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In [[Unreal Engine 3]] there may be a [[metadata<ins class="diffchange diffchange-inline">|metatag</ins>]] right after each value declaration to specify the value's [[Metadata#<ins class="diffchange diffchange-inline">Tags</ins>|display name]] in any of [[UnrealEd]]'s [[properties lists]].</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>A good example for an enum declaration with custom display names for its values is [[UE3:EMaterialAdjustmentType (UT3)|UIRoot.EMaterialAdjustmentType]] in [[UT3]]:</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>A good example for an enum declaration with custom display names for its values is [[UE3:EMaterialAdjustmentType (UT3)|UIRoot.EMaterialAdjustmentType]] in [[UT3]]:</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;uscript&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;uscript&gt;</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">/** The type of adjustment to apply to a material. */</del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>enum EMaterialAdjustmentType</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>enum EMaterialAdjustmentType</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> /** no modification to material - if material is larger than target dimension, material is clipped */</del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_None&lt;DisplayName=Clipped&gt;,</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_None&lt;DisplayName=Clipped&gt;,</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> /** material will be scaled to fit the target dimension */</del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_Normal&lt;DisplayName=Scaled&gt;,</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_Normal&lt;DisplayName=Scaled&gt;,</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> /** material will be scaled to fit the target dimension, maintaining aspect ratio */</del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_Justified&lt;DisplayName=Uniformly Scaled&gt;,</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_Justified&lt;DisplayName=Uniformly Scaled&gt;,</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> /** target's dimensions will be adjusted to match material dimension */</del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_Bound&lt;DisplayName=Bound&gt;,</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_Bound&lt;DisplayName=Bound&gt;,</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> /** material will be stretched to fit target dimension */</del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_Stretch&lt;DisplayName=Stretched&gt;,</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div> ADJUST_Stretch&lt;DisplayName=Stretched&gt;,</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>};</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>};</div></td></tr> </table> Eliot https://wiki.beyondunreal.com/Enums?diff=34491&oldid=prev Wormbo: /* Implicit enum properties */ actually it can't 2009-06-14T17:20:57Z <p>‎<span dir="auto"><span class="autocomment">Implicit enum properties: </span> actually it can&#039;t</span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 17:20, 14 June 2009</td> </tr><tr><td colspan="2" class="diff-lineno" id="L45" >Line 45:</td> <td colspan="2" class="diff-lineno">Line 45:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Enum types an implicit property '''EnumCount'''. This property is similar to the '''Length''' property of a [[dynamic array]] in that it returns the number of values declared for that enum. In [[Unreal Engine 1]] and 2 it is only available at runtime, but in [[Unreal Engine 3]] it can also be used at compile-time to define [[static array]] sizes. For some reason it doesn't count as constant expression when defining [[constants]].</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Enum types an implicit property '''EnumCount'''. This property is similar to the '''Length''' property of a [[dynamic array]] in that it returns the number of values declared for that enum. In [[Unreal Engine 1]] and 2 it is only available at runtime, but in [[Unreal Engine 3]] it can also be used at compile-time to define [[static array]] sizes. For some reason it doesn't count as constant expression when defining [[constants]].</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>As a synonym for '''EnumCount''', Unreal Engine 3 also provides the implicit enum value '''''XYZ''_MAX''', where ''XYZ'' is the prefix used for other values in the same enum. For example the [[UE3:EPhysics (UT3)|Actor.EPhysics]] enum has the implicit value ''PHYS_MAX'' representing the value 13. Note that this additional enum value is also exported when generating C++ headers for [[native classes]] in [[Unreal Engine 2]] and earlier, but it's not available to UnrealScript in those engine generations<del class="diffchange diffchange-inline">. Unlike the '''EnumCount''' property, the &quot;..._MAX&quot; constant can be used in constant definitions in UE3</del>.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>As a synonym for '''EnumCount''', Unreal Engine 3 also provides the implicit enum value '''''XYZ''_MAX''', where ''XYZ'' is the prefix used for other values in the same enum. For example the [[UE3:EPhysics (UT3)|Actor.EPhysics]] enum has the implicit value ''PHYS_MAX'' representing the value 13. Note that this additional enum value is also exported when generating C++ headers for [[native classes]] in [[Unreal Engine 2]] and earlier, but it's not available to UnrealScript in those engine generations.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Converting enum values==</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Converting enum values==</div></td></tr> </table> Wormbo https://wiki.beyondunreal.com/Enums?diff=34484&oldid=prev Wormbo: /* Implicit enum properties */ EnumCount doesn't work in constant definitions 2009-06-14T11:25:49Z <p>‎<span dir="auto"><span class="autocomment">Implicit enum properties: </span> EnumCount doesn&#039;t work in constant definitions</span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 11:25, 14 June 2009</td> </tr><tr><td colspan="2" class="diff-lineno" id="L43" >Line 43:</td> <td colspan="2" class="diff-lineno">Line 43:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Implicit enum properties===</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Implicit enum properties===</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Enum types an implicit property '''EnumCount'''. This property is similar to the '''Length''' property of a [[dynamic array]] in that it returns the number of values declared for that enum. In [[Unreal Engine 1]] and 2 it is only available at runtime, but in [[Unreal Engine 3]] it can also be used at compile-time to define [[<del class="diffchange diffchange-inline">constants</del>]] <del class="diffchange diffchange-inline">or </del>[[<del class="diffchange diffchange-inline">static array</del>]] <del class="diffchange diffchange-inline">sizes</del>.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Enum types an implicit property '''EnumCount'''. This property is similar to the '''Length''' property of a [[dynamic array]] in that it returns the number of values declared for that enum. In [[Unreal Engine 1]] and 2 it is only available at runtime, but in [[Unreal Engine 3]] it can also be used at compile-time to define [[<ins class="diffchange diffchange-inline">static array</ins>]] <ins class="diffchange diffchange-inline">sizes. For some reason it doesn't count as constant expression when defining </ins>[[<ins class="diffchange diffchange-inline">constants</ins>]].</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>As a synonym for '''EnumCount''', Unreal Engine 3 also provides the implicit enum value '''''XYZ''_MAX''', where ''XYZ'' is the prefix used for other values in the same enum. For example the [[UE3:EPhysics (UT3)|Actor.EPhysics]] enum has the implicit value ''PHYS_MAX'' representing the value 13. Note that this additional enum value is also exported when generating C++ headers for [[native classes]] in [[Unreal Engine 2]] and earlier, but it's not available to UnrealScript in those engine generations.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>As a synonym for '''EnumCount''', Unreal Engine 3 also provides the implicit enum value '''''XYZ''_MAX''', where ''XYZ'' is the prefix used for other values in the same enum. For example the [[UE3:EPhysics (UT3)|Actor.EPhysics]] enum has the implicit value ''PHYS_MAX'' representing the value 13. Note that this additional enum value is also exported when generating C++ headers for [[native classes]] in [[Unreal Engine 2]] and earlier, but it's not available to UnrealScript in those engine generations<ins class="diffchange diffchange-inline">. Unlike the '''EnumCount''' property, the &quot;..._MAX&quot; constant can be used in constant definitions in UE3</ins>.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Converting enum values==</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Converting enum values==</div></td></tr> </table> Wormbo https://wiki.beyondunreal.com/Enums?diff=11547&oldid=prev Wormbo: info about EnumCount and the ..._MAX value 2008-04-26T17:36:11Z <p>info about EnumCount and the ..._MAX value</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 17:36, 26 April 2008</td> </tr><tr><td colspan="2" class="diff-lineno" id="L15" >Line 15:</td> <td colspan="2" class="diff-lineno">Line 15:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The values of an enum type are identifiers, that means they must start with a letter or underscore character, may contain letters, digits and the underscore character and are restricted to a maximum length of 63 characters. Values are separated by commas and there may be an optional comma after the last value.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The values of an enum type are identifiers, that means they must start with a letter or underscore character, may contain letters, digits and the underscore character and are restricted to a maximum length of 63 characters. Values are separated by commas and there may be an optional comma after the last value.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>By convention, enum value names start with a series of capital letters specific to the enum's name, followed by an underscore character. For short enum names this is usually the capitalized enum name, like AXIS_X or AXIS_Y for the [[UE2:<del class="diffchange diffchange-inline">Object </del>(UT2004)<del class="diffchange diffchange-inline">#EAxis</del>|EAxis]] enum. For longer enum names, often either the initial letters of each enum name part are used or one of the parts, possibly shortened, is capitalized. Examples here are the [[UE1:<del class="diffchange diffchange-inline">Actor </del>(UT)<del class="diffchange diffchange-inline">#EDrawType</del>|EDrawType]] enum with values such as DT_Sprite or DT_Mesh and the [[UE3:<del class="diffchange diffchange-inline">Actor </del>(UT3)<del class="diffchange diffchange-inline">#ENetRole</del>|ENetRole]] enum with values such as ROLE_SimulatedProxy or ROLE_Authority.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>By convention, enum value names start with a series of capital letters specific to the enum's name, followed by an underscore character. For short enum names this is usually the capitalized enum name, like AXIS_X or AXIS_Y for the [[UE2:<ins class="diffchange diffchange-inline">EAxis </ins>(UT2004)|EAxis]] enum. For longer enum names, often either the initial letters of each enum name part are used or one of the parts, possibly shortened, is capitalized. Examples here are the [[UE1:<ins class="diffchange diffchange-inline">EDrawType </ins>(UT)|EDrawType]] enum with values such as DT_Sprite or DT_Mesh and the [[UE3:<ins class="diffchange diffchange-inline">ENetRole </ins>(UT3)|ENetRole]] enum with values such as ROLE_SimulatedProxy or ROLE_Authority.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>In [[Unreal Engine 3]] there may be a [[metadata definition]] right after each value declaration to specify the value's [[Metadata definition#Displyname|display name]] in any of [[UnrealEd]]'s [[properties lists]].</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>In [[Unreal Engine 3]] there may be a [[metadata definition]] right after each value declaration to specify the value's [[Metadata definition#Displyname|display name]] in any of [[UnrealEd]]'s [[properties lists]].</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>A good example for an enum declaration with custom display names for its values is [[UE3:<del class="diffchange diffchange-inline">UIRoot </del>(UT3)<del class="diffchange diffchange-inline">#EMaterialAdjustmentType</del>|UIRoot.EMaterialAdjustmentType]] in [[UT3]]:</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>A good example for an enum declaration with custom display names for its values is [[UE3:<ins class="diffchange diffchange-inline">EMaterialAdjustmentType </ins>(UT3)|UIRoot.EMaterialAdjustmentType]] in [[UT3]]:</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;uscript&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;uscript&gt;</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>/** The type of adjustment to apply to a material. */</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>/** The type of adjustment to apply to a material. */</div></td></tr> <tr><td colspan="2" class="diff-lineno" id="L41" >Line 41:</td> <td colspan="2" class="diff-lineno">Line 41:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;/uscript&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;/uscript&gt;</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>As you can see, the display name of an enum value may be totally different from the actual value identifier.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>As you can see, the display name of an enum value may be totally different from the actual value identifier.</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">===Implicit enum properties===</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Enum types an implicit property '''EnumCount'''. This property is similar to the '''Length''' property of a [[dynamic array]] in that it returns the number of values declared for that enum. In [[Unreal Engine 1]] and 2 it is only available at runtime, but in [[Unreal Engine 3]] it can also be used at compile-time to define [[constants]] or [[static array]] sizes.</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">As a synonym for '''EnumCount''', Unreal Engine 3 also provides the implicit enum value '''''XYZ''_MAX''', where ''XYZ'' is the prefix used for other values in the same enum. For example the [[UE3:EPhysics (UT3)|Actor.EPhysics]] enum has the implicit value ''PHYS_MAX'' representing the value 13. Note that this additional enum value is also exported when generating C++ headers for [[native classes]] in [[Unreal Engine 2]] and earlier, but it's not available to UnrealScript in those engine generations.</ins></div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Converting enum values==</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Converting enum values==</div></td></tr> </table> Wormbo https://wiki.beyondunreal.com/Enums?diff=11075&oldid=prev Wormbo: New page: An '''enum''' (also '''enumerated type''' or '''enumeration''') is a primitive data type in UnrealScript. The possible values of an enum type are a list of identifiers, which can be co... 2008-04-18T15:57:07Z <p>New page: An &#039;&#039;&#039;enum&#039;&#039;&#039; (also &#039;&#039;&#039;enumerated type&#039;&#039;&#039; or &#039;&#039;&#039;enumeration&#039;&#039;&#039;) is a primitive data type in <a href="/UnrealScript" title="UnrealScript">UnrealScript</a>. The possible values of an enum type are a list of identifiers, which can be co...</p> <p><b>New page</b></p><div>An '''enum''' (also '''enumerated type''' or '''enumeration''') is a primitive data type in [[UnrealScript]]. The possible values of an enum type are a list of identifiers, which can be compared not only for equality, but also for order.<br /> <br /> ==Declaration syntax==<br /> The general syntax of enum declarations is:<br /> '''enum''' ''enumname'' '''{'''<br /> ''value1'',''value2'',...<br /> '''}'''<br /> An enum declaration may appear either as standalone declaration, in which case it must be followed by a semicolon, or as inline declaration instead of the type specification in variable declarations. There is no difference between a standalone and inline declaration, in both cased the enum is a direct member of the class.<br /> <br /> Remember that all members of an UnrealScript class share the same namespace. An enum declaration may hide any member of a parent class if it has the same name.<br /> <br /> Unlike [[structs]], enum types may neither have any modifiers nor contain anything else than their value declarations. By convention, enum names start with the letter '''E''' to easily recognize the type as an enum. This is only a convention, not a requirement, though.<br /> <br /> ==Value declarations==<br /> The values of an enum type are identifiers, that means they must start with a letter or underscore character, may contain letters, digits and the underscore character and are restricted to a maximum length of 63 characters. Values are separated by commas and there may be an optional comma after the last value.<br /> <br /> By convention, enum value names start with a series of capital letters specific to the enum's name, followed by an underscore character. For short enum names this is usually the capitalized enum name, like AXIS_X or AXIS_Y for the [[UE2:Object (UT2004)#EAxis|EAxis]] enum. For longer enum names, often either the initial letters of each enum name part are used or one of the parts, possibly shortened, is capitalized. Examples here are the [[UE1:Actor (UT)#EDrawType|EDrawType]] enum with values such as DT_Sprite or DT_Mesh and the [[UE3:Actor (UT3)#ENetRole|ENetRole]] enum with values such as ROLE_SimulatedProxy or ROLE_Authority.<br /> <br /> In [[Unreal Engine 3]] there may be a [[metadata definition]] right after each value declaration to specify the value's [[Metadata definition#Displyname|display name]] in any of [[UnrealEd]]'s [[properties lists]].<br /> <br /> A good example for an enum declaration with custom display names for its values is [[UE3:UIRoot (UT3)#EMaterialAdjustmentType|UIRoot.EMaterialAdjustmentType]] in [[UT3]]:<br /> &lt;uscript&gt;<br /> /** The type of adjustment to apply to a material. */<br /> enum EMaterialAdjustmentType<br /> {<br /> /** no modification to material - if material is larger than target dimension, material is clipped */<br /> ADJUST_None&lt;DisplayName=Clipped&gt;,<br /> <br /> /** material will be scaled to fit the target dimension */<br /> ADJUST_Normal&lt;DisplayName=Scaled&gt;,<br /> <br /> /** material will be scaled to fit the target dimension, maintaining aspect ratio */<br /> ADJUST_Justified&lt;DisplayName=Uniformly Scaled&gt;,<br /> <br /> /** target's dimensions will be adjusted to match material dimension */<br /> ADJUST_Bound&lt;DisplayName=Bound&gt;,<br /> <br /> /** material will be stretched to fit target dimension */<br /> ADJUST_Stretch&lt;DisplayName=Stretched&gt;,<br /> };<br /> &lt;/uscript&gt;<br /> As you can see, the display name of an enum value may be totally different from the actual value identifier.<br /> <br /> ==Converting enum values==<br /> ===Enum value to number===<br /> Each enum value also stands for a [[byte]] value. Variables of an enum type or function returning an enum value can directly be used as if they were of an integer type. The integer representation of an enum value depends on its position in the value list. The first value represents the integer value 0, the second represents 1, the next 2, then next 3 and so on.<br /> <br /> ===Numbers to enum values===<br /> Converting generic numbers to enum values is not possible, since there's no guarantee there's actually a valid enum value representing that number.<br /> <br /> ===Enum value to name===<br /> To get the name of an enum value you can use the [[Object#GetEnum|GetEnum]] function. It expects an [[Literals#Objects|object literal]] representing the enum type and the index of the enum value whose name to return.<br /> <br /> Take the following call, for example:<br /> &lt;uscript&gt;GetEnum(Enum'EPhysics', 2)&lt;/uscript&gt;<br /> This will return the name equal to the [[Literals#Names|name literal]] &lt;code&gt;'PHYS_Falling'&lt;/code&gt;. Note that the second parameter of the GetEnum function is actually of type ''int''. Since enum values can also be used as numbers (as described above), you can also pass in variables or function return values of an enum type.<br /> <br /> ===Enum value to string===<br /> If you [[typecast]] an enum value to string, you will only get the string representation of the numeric representation as described above in &quot;Enum value to number&quot;. To get the string representation of the enum value name, you can instead [[typecast]] the return value of the GetEnum function to string.<br /> <br /> ===String or name to enum value===<br /> This is only really possible in [[Unreal Engine 1]] and 2 and only for enum variables at the class level, because it requires the SetPropertyText function, which was removed in Unreal Engine 3. Simply pass the name of the enum variable as the first parameter and the desired enum value as the second parameter to assign the value to the variable.<br /> <br /> {{navbox unrealscript}}</div> Wormbo