private void FindDynamicBoneColliders() { DynamicBoneCollider[] comps = gameObject.GetComponentsInChildren <DynamicBoneCollider>(true); if (comps.Length == 0) { Debug.Log("Targeted object tree doesn't have any DynamicBoneColliders!", gameObject); } foreach (DynamicBoneCollider component in comps) { if (component.gameObject.GetComponent <JiggleColliderSphere>()) { if (enforceOriginalValues) { Debug.Log("Copying DynamicBoneCollider values into " + component.gameObject.name, component.gameObject); JiggleColliderSphere lavColliderSphere = component.gameObject.GetComponent <JiggleColliderSphere>(); this.ReassignDynamicBoneColliderValues(lavColliderSphere, component); } else { Debug.Log(component.gameObject.name + " already has JiggleColliderSphere", component.gameObject); } } else { Debug.Log(component.gameObject.name + " doesn't have JiggleColliderSphere, targeting...", component.gameObject); JiggleColliderSphere lavColliderSphere = component.gameObject.AddComponent(typeof(JiggleColliderSphere)) as JiggleColliderSphere; this.ReassignDynamicBoneColliderValues(lavColliderSphere, component); } } }
private void ReassignDynamicBoneColliderValues(JiggleColliderSphere lavColliderSphere, DynamicBoneCollider dCol) { lavColliderSphere.Center = dCol.m_Center; lavColliderSphere.Direction = (Direction)dCol.m_Direction; lavColliderSphere.Bound = (Bound)dCol.m_Bound; lavColliderSphere.Radius = dCol.m_Radius; lavColliderSphere.Height = dCol.m_Height; }