コード例 #1
0
        /// <summary>
        /// Clones a Transform component into a <see cref="TransformClone"/> object.
        /// </summary>
        /// <returns>The clone.</returns>
        /// <param name="transform">The transform to clone.</param>
        public static TransformClone CloneTransform(this Transform transform)
        {
            TransformClone clone = new TransformClone();

            clone.tag = transform.tag;

            clone.position = new Vector3(
                transform.position.x,
                transform.position.y,
                transform.position.z
                );

            clone.rotation = new Quaternion(
                transform.rotation.x,
                transform.rotation.y,
                transform.rotation.z,
                transform.rotation.w
                );

            clone.scale = new Vector3(
                transform.localScale.x,
                transform.localScale.y,
                transform.localScale.z
                );

            return(clone);
        }
コード例 #2
0
        /// <summary>
        /// Clones multiple Transform components into <see cref="TransformClone"/> objects.
        /// </summary>
        /// <returns>The clones.</returns>
        /// <param name="transform">The transforms to clone.</param>
        public static TransformClone[] CloneTransform(this Transform[] transforms)
        {
            TransformClone[] clones = new TransformClone[transforms.Length];

            for (int i = 0; i < transforms.Length; i++)
            {
                clones[i] = transforms[i].CloneTransform();
            }

            return(clones);
        }
コード例 #3
0
 /// <summary>
 /// Applies the transform from a clone.
 /// </summary>
 /// <param name="clone">The clone.</param>
 /// <param name="transform">The transform the clone should be applied to.</param>
 public static void ApplyTransform(this TransformClone clone, Transform transform)
 {
     transform.position   = clone.position;
     transform.rotation   = clone.rotation;
     transform.localScale = clone.scale;
 }