Exemplo n.º 1
0
        /// <summary>
        /// Adds a Rigidbody component to the game object.
        /// </summary>
        /// <typeparam name="T">The type of the component to add.</typeparam>
        /// <param name="go"></param>
        /// <param name="vgoRigidbody"></param>
        /// <returns>Returns Rigidbody component.</returns>
        public static Rigidbody AddComponent <T>(this GameObject go, VGO_Rigidbody vgoRigidbody)
            where T : Rigidbody
        {
            Rigidbody rigidbody = go.GetComponent <Rigidbody>();

            if (rigidbody == null)
            {
                rigidbody = go.AddComponent <Rigidbody>();
            }

            if (vgoRigidbody != null)
            {
                VgoRigidbodyConverter.SetComponentValue(rigidbody, vgoRigidbody);
            }

            return(rigidbody);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Set Rigidbody parameter.
        /// </summary>
        /// <param name="rigidbody"></param>
        /// <param name="vgoRigidbody"></param>
        public static void SetComponentValue(Rigidbody rigidbody, VGO_Rigidbody vgoRigidbody)
        {
            if (rigidbody == null)
            {
                return;
            }

            if (vgoRigidbody == null)
            {
                return;
            }

            rigidbody.mass                   = vgoRigidbody.mass;
            rigidbody.drag                   = vgoRigidbody.drag;
            rigidbody.angularDrag            = vgoRigidbody.angularDrag;
            rigidbody.useGravity             = vgoRigidbody.useGravity;
            rigidbody.isKinematic            = vgoRigidbody.isKinematic;
            rigidbody.interpolation          = vgoRigidbody.interpolation;
            rigidbody.collisionDetectionMode = vgoRigidbody.collisionDetectionMode;
            rigidbody.constraints            = vgoRigidbody.constraints;
        }