Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ AddArray()

unsafe void System.Diagnostics.Tracing.DataCollector.AddArray ( Array value,
int length,
int itemSize )
inlinepackage

Definition at line 126 of file DataCollector.cs.

127 {
128 if (length > 65535)
129 {
130 length = 65535;
131 }
132 int num = length * itemSize;
133 if (bufferNesting != 0)
134 {
135 EnsureBuffer(num + 2);
136 }
137 AddScalar(&length, 2);
138 checked
139 {
140 if (length != 0)
141 {
142 if (bufferNesting == 0)
143 {
144 ScalarsEnd();
145 PinArray(value, num);
146 return;
147 }
148 int dstOffset = bufferPos;
149 bufferPos += num;
150 EnsureBuffer();
151 Buffer.BlockCopy(value, 0, buffer, dstOffset, num);
152 }
153 }
154 }
unsafe void AddScalar(void *value, int size)
unsafe void PinArray(object value, int size)

References System.Diagnostics.Tracing.DataCollector.AddScalar(), System.Buffer.BlockCopy(), System.Diagnostics.Tracing.DataCollector.buffer, System.Diagnostics.Tracing.DataCollector.bufferNesting, System.Diagnostics.Tracing.DataCollector.bufferPos, System.Diagnostics.Tracing.DataCollector.EnsureBuffer(), System.length, System.Diagnostics.Tracing.DataCollector.PinArray(), System.Diagnostics.Tracing.DataCollector.ScalarsEnd(), and System.value.