public void Execute() { var translationPtr = (Translation *)DestinationPtr; var pointPtr = (Point *)(translationPtr + Count); var linearPtr = (PhysicsVelocity *)(pointPtr + Count); for (var i = 0; i < Chunks.Length; i++) { var chunk = Chunks[i]; var count = chunk.Count; MemCpyUtility.MemCpy(translationPtr, chunk.GetNativeArray(TypeTranslation)); MemCpyUtility.MemCpy(pointPtr, chunk.GetNativeArray(TypePoint)); MemCpyUtility.MemCpy(linearPtr, chunk.GetNativeArray(TypePhysicsVelocity)); translationPtr += count; pointPtr += count; linearPtr += count; } }
public void Execute() { var translationPtr = (Translation *)DestinationPtr; var pointPtr = (Point *)(translationPtr + Count); var ticksPtr = (DateTimeTicksToProcess *)(pointPtr + Count); for (var i = 0; i < Chunks.Length; i++) { var chunk = Chunks[i]; var count = chunk.Count; var translations = chunk.GetNativeArray(TypeTranslation); MemCpyUtility.MemCpy(translationPtr, translations); MemCpyUtility.MemCpy(pointPtr, chunk.GetNativeArray(TypePoint)); MemCpyUtility.MemCpy(ticksPtr, chunk.GetNativeArray(TypeTicks)); translationPtr += count; pointPtr += count; ticksPtr += count; } }
public void Execute() { var translationPtr = (Translation *)DestinationPtr; var rotationPtr = (Rotation *)(translationPtr + Count); var teamTagPtr = (TeamTag *)(rotationPtr + Count); var physicsVelocityPtr = (PhysicsVelocity *)(teamTagPtr + Count); for (var i = 0; i < Chunks.Length; i++) { var chunk = Chunks[i]; var count = chunk.Count; var translations = chunk.GetNativeArray(TypeTranslation); MemCpyUtility.MemCpy(translationPtr, translations); MemCpyUtility.MemCpy(rotationPtr, chunk.GetNativeArray(TypeRotation)); MemCpyUtility.MemCpy(teamTagPtr, chunk.GetNativeArray(TypeTeam)); MemCpyUtility.MemCpy(physicsVelocityPtr, chunk.GetNativeArray(TypePhysicsVelocity)); translationPtr += count; rotationPtr += count; teamTagPtr += count; physicsVelocityPtr += count; } }