diff --git a/Source/Engine/Engine/NativeInterop.cs b/Source/Engine/Engine/NativeInterop.cs
index 1feeb8839..e6c3f6176 100644
--- a/Source/Engine/Engine/NativeInterop.cs
+++ b/Source/Engine/Engine/NativeInterop.cs
@@ -163,14 +163,14 @@ namespace FlaxEngine
///
/// Wrapper for managed arrays which are passed to unmanaged code.
///
- internal unsafe class ManagedArray
+ public unsafe class ManagedArray
{
private ManagedHandle pinnedArrayHandle;
private IntPtr unmanagedData;
private int elementSize;
private int length;
- internal static ManagedArray WrapNewArray(Array arr) => new ManagedArray(arr);
+ public static ManagedArray WrapNewArray(Array arr) => new ManagedArray(arr);
///
/// Returns an instance of ManagedArray from shared pool.
@@ -178,7 +178,7 @@ namespace FlaxEngine
///
/// The resources must be released by calling FreePooled() instead of Free()-method.
///
- internal static ManagedArray WrapPooledArray(Array arr)
+ public static ManagedArray WrapPooledArray(Array arr)
{
ManagedArray managedArray = ManagedArrayPool.Get();
managedArray.WrapArray(arr);
@@ -197,7 +197,7 @@ namespace FlaxEngine
///
/// The resources must be released by calling FreePooled() instead of Free()-method.
///
- internal static ManagedArray AllocatePooledArray(T* ptr, int length) where T : unmanaged
+ public static ManagedArray AllocatePooledArray(T* ptr, int length) where T : unmanaged
{
ManagedArray managedArray = ManagedArrayPool.Get();
managedArray.Allocate(ptr, length);
@@ -210,14 +210,14 @@ namespace FlaxEngine
///
/// The resources must be released by calling FreePooled() instead of Free()-method.
///
- internal static ManagedArray AllocatePooledArray(int length) where T : unmanaged
+ public static ManagedArray AllocatePooledArray(int length) where T : unmanaged
{
ManagedArray managedArray = ManagedArrayPool.Get();
managedArray.Allocate((IntPtr)NativeInterop.NativeAlloc(length, Unsafe.SizeOf()), length, Unsafe.SizeOf());
return managedArray;
}
- internal ManagedArray(Array arr) => WrapArray(arr);
+ public ManagedArray(Array arr) => WrapArray(arr);
internal void WrapArray(Array arr)
{
@@ -251,7 +251,7 @@ namespace FlaxEngine
Free();
}
- internal void Free()
+ public void Free()
{
GC.SuppressFinalize(this);
if (pinnedArrayHandle.IsAllocated)
@@ -266,7 +266,7 @@ namespace FlaxEngine
}
}
- internal void FreePooled()
+ public void FreePooled()
{
Free();
ManagedArrayPool.Put(this);
@@ -278,9 +278,9 @@ namespace FlaxEngine
internal int ElementSize => elementSize;
- internal Span GetSpan() where T : struct => new Span(unmanagedData.ToPointer(), length);
+ public Span GetSpan() where T : struct => new Span(unmanagedData.ToPointer(), length);
- internal T[] GetArray() where T : struct => new Span(unmanagedData.ToPointer(), length).ToArray();
+ public T[] GetArray() where T : struct => new Span(unmanagedData.ToPointer(), length).ToArray();
///
/// Provides a pool of pre-allocated ManagedArray that can be re-used.