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;
                }
Ejemplo n.º 2
0
 /// <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);
 }