public void DropPreviewObjects(IPlaceSceneObjects placer) { var count = m_GrabData.Count; var transforms = new Transform[count]; var targetPositionOffsets = new Vector3[count]; var targetRotations = new Quaternion[count]; var targetScales = new Vector3[count]; for (var i = 0; i < count; i++) { var grabData = m_GrabData[i]; transforms[i] = grabData.transform; targetPositionOffsets[i] = grabData.centerPositionOffset; targetRotations[i] = grabData.originalRotation; targetScales[i] = grabData.originalScale; } if (hasPreview) { placer.PlaceSceneObjects(transforms, targetPositionOffsets, targetRotations, targetScales); } m_GrabData.Clear(); hasPreview = false; }
/// <summary> /// Method used to place groups of objects in the scene/MiniWorld /// </summary> /// <param name="transforms">Array of Transforms to place</param> /// <param name="targetPositionOffsets">Array of per-object target positions</param> /// <param name="targetRotations">Array of per-object target rotations</param> /// <param name="targetScales">Array of per-object target scales</param> public static void PlaceSceneObjects(this IPlaceSceneObjects obj, Transform[] transforms, Vector3[] targetPositionOffsets, Quaternion[] targetRotations, Vector3[] targetScales) { placeSceneObjects(transforms, targetPositionOffsets, targetRotations, targetScales); }