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.