// Automatically add rigidbody and box collider to object if it doesn't already have // and fill the generatedBodies array static void AutoGenerateComponents(Transform[] transforms) { generatedRigidbodies = new List <Rigidbody>(); generatedColliders = new List <Collider>(); simulatedBodies = new SimulatedBody[transforms.Length]; int i = 0; foreach (Transform child in transforms) { if (!child.TryGetComponent(out Rigidbody rb)) { rb = child.gameObject.AddComponent <Rigidbody>(); generatedRigidbodies.Add(rb); } if (!child.GetComponent <Collider>()) { generatedColliders.Add(child.gameObject.AddComponent <BoxCollider>()); } simulatedBodies[i] = new SimulatedBody(rb, true); i++; } }
// Is the given simulatedbody one of the scene selected gameobjects bool IsSelected(SimulatedBody sb) { return(m_selectedObjs.Any(selected => selected.transform.GetInstanceID() == sb.ID)); }