Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
FieldTableReader.cs
Go to the documentation of this file.
2
4
5internal readonly struct FieldTableReader
6{
7 internal readonly int NumberOfRows;
8
9 private readonly bool _IsStringHeapRefSizeSmall;
10
11 private readonly bool _IsBlobHeapRefSizeSmall;
12
13 private readonly int _FlagsOffset;
14
15 private readonly int _NameOffset;
16
17 private readonly int _SignatureOffset;
18
19 internal readonly int RowSize;
20
21 internal readonly MemoryBlock Block;
22
23 internal FieldTableReader(int numberOfRows, int stringHeapRefSize, int blobHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
24 {
25 NumberOfRows = numberOfRows;
26 _IsStringHeapRefSizeSmall = stringHeapRefSize == 2;
27 _IsBlobHeapRefSizeSmall = blobHeapRefSize == 2;
28 _FlagsOffset = 0;
30 _SignatureOffset = _NameOffset + stringHeapRefSize;
31 RowSize = _SignatureOffset + blobHeapRefSize;
32 Block = containingBlock.GetMemoryBlockAt(containingBlockOffset, RowSize * numberOfRows);
33 }
34
40
42 {
43 int num = (handle.RowId - 1) * RowSize;
45 }
46
52}
unsafe ushort PeekUInt16(int offset)
unsafe MemoryBlock GetMemoryBlockAt(int offset, int length)
int PeekHeapReference(int offset, bool smallRefSize)
static BlobHandle FromOffset(int heapOffset)
Definition BlobHandle.cs:34
FieldAttributes GetFlags(FieldDefinitionHandle handle)
BlobHandle GetSignature(FieldDefinitionHandle handle)
FieldTableReader(int numberOfRows, int stringHeapRefSize, int blobHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
StringHandle GetName(FieldDefinitionHandle handle)
static StringHandle FromOffset(int heapOffset)