Esempio n. 1
0
        private static void Copy(NativeArray2D <T> src, T[,] dest)
        {
            src.RequireReadAccess();

            if (src.Length0 != dest.GetLength(0) || src.Length1 != dest.GetLength(1))
                throw new ArgumentException("Arrays must have the same size.");

            fixed(void *destPtr = &dest[0, 0])
            {
                UnsafeUtility.MemCpy(destPtr, src.GetUnsafePtr(), dest.Length * sizeof(T));
            }
        }
Esempio n. 2
0
        private static void Copy(NativeArray2D <T> src, NativeArray2D <T> dest)
        {
            src.RequireReadAccess();
            dest.RequireWriteAccess();

            if (src.Length0 != dest.Length0 || src.Length1 != dest.Length1)
            {
                throw new ArgumentException("NativeArray2Ds must have the same size.");
            }

            UnsafeUtility.MemCpy(dest.GetUnsafePtr(), src.GetUnsafePtr(), src.Length0 * src.Length1 * UnsafeUtility.SizeOf <T>());
        }