public void FromToPtr() { // Build array of random integer structs. int randomStructNumber = 1000; RandomIntStruct[] randomIntegers = new RandomIntStruct[randomStructNumber]; for (int x = 0; x < randomStructNumber; x++) { randomIntegers[x] = RandomIntStruct.BuildRandomStruct(); } // Allocate memory for these structs. IntPtr memoryPtr = _currentProcess.Allocate(Reloaded.Memory.StructArray.GetSize <RandomIntStruct>(randomStructNumber)); // Write random int struct array to pointer. Reloaded.Memory.StructArray.ToPtr(memoryPtr, randomIntegers); // Read back struct array from pointer. Reloaded.Memory.StructArray.FromPtr <RandomIntStruct>(memoryPtr, out var randomIntegersCopy, randomStructNumber); // Now compare old and new array. Assert.Equal(randomIntegers, randomIntegersCopy); // Cleanup _currentProcess.Free(memoryPtr); }
public void Dispose() => _currentProcess.Free(_adventurePhysicsArray);
public void Dispose() { CurrentProcess.Free(AdventurePhysicsArray); }