/// <summary>
        /// Nudges the transform in the specified direction.
        /// </summary>
        /// <param name="direction">
        /// The direction to nudge in.
        /// </param>
        public void Nudge(RefinementDirection direction)
        {
            // Figure out which actual direction
            RefinementDirection actualDireciton = direction.RelativeTo(forwardDirection);

            // Create the offset
            Vector3 offset = actualDireciton.ToVector() * directionAmount;

            // Update the position using the correct coordinate space (local vs world)
            TargetTransform.Translate(offset, space);
        }
        public void TranslateTargetPositionRotationRecursive(Vector3 deltaPosition, Vector3 deltaDirection)
        {
            TargetTransform.Translate(deltaPosition, Space.World);
            TargetTransform.forward = TargetTransform.forward + deltaDirection;
            ItemDrop dropItemMod = GetComponent <ItemDrop>();

            if (dropItemMod != null)
            {
                for (int i = 0; i < dropItemMod.ChildItemDragList.Count; ++i)
                {
                    dropItemMod.ChildItemDragList[i].TranslateTargetPositionRotationRecursive(deltaPosition, deltaDirection);
                }
            }
        }