Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
HasSemanticsTag.cs
Go to the documentation of this file.
2
4
5internal static class HasSemanticsTag
6{
7 internal const int NumberOfBits = 1;
8
9 internal const int LargeRowSize = 32768;
10
11 internal const uint Event = 0u;
12
13 internal const uint Property = 1u;
14
15 internal const uint TagMask = 1u;
16
17 internal const TableMask TablesReferenced = TableMask.Event | TableMask.Property;
18
19 internal const uint TagToTokenTypeByteVector = 5908u;
20
21 [MethodImpl(MethodImplOptions.AggressiveInlining)]
22 internal static EntityHandle ConvertToHandle(uint hasSemantic)
23 {
24 uint num = (uint)(5908 >>> (int)((hasSemantic & 1) << 3) << 24);
25 uint num2 = hasSemantic >> 1;
26 if ((num2 & 0xFF000000u) != 0)
27 {
29 }
30 return new EntityHandle(num | num2);
31 }
32
33 internal static uint ConvertEventHandleToTag(EventDefinitionHandle eventDef)
34 {
35 return (uint)(eventDef.RowId << 1) | 0u;
36 }
37
38 internal static uint ConvertPropertyHandleToTag(PropertyDefinitionHandle propertyDef)
39 {
40 return (uint)(propertyDef.RowId << 1) | 1u;
41 }
42}
static EntityHandle ConvertToHandle(uint hasSemantic)
static uint ConvertEventHandleToTag(EventDefinitionHandle eventDef)
static uint ConvertPropertyHandleToTag(PropertyDefinitionHandle propertyDef)
static void InvalidCodedIndex()
Definition Throw.cs:201