/// <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); }
/// <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; }