using UnityEngine; using System.Collections; [ExecuteInEditMode] public class BloodymessHelper : MonoBehaviour { public bool RemoveJointsAndRB = false; public bool CollidersToTriggers = false; public bool AddLimbScriptToColliders = false; int limbLayer = LayerMask.NameToLayer("Limb"); void RemoveJointsAndRBNow() { CharacterJoint[] joints = GetComponentsInChildren(); Rigidbody[] rigidbodies = GetComponentsInChildren(); foreach (CharacterJoint joint in joints) { DestroyImmediate(joint); } foreach (Rigidbody rb in rigidbodies) { DestroyImmediate(rb); } } void CollidersToTriggersNow() { Collider[] colliders = GetComponentsInChildren(); foreach (Collider col in colliders) { col.isTrigger = true; } } void AddLimbScriptToCollidersNow() { Collider[] colliders = GetComponentsInChildren(); foreach (Collider col in colliders) { GameObject go = col.gameObject; go.layer = limbLayer; Limb limbScript = go.GetComponent(); if (limbScript == null) limbScript = go.AddComponent(); limbScript.parent = gameObject.transform.root.gameObject; } } void Update() { if (RemoveJointsAndRB) { RemoveJointsAndRB = false; RemoveJointsAndRBNow(); } if (CollidersToTriggers) { CollidersToTriggers = false; CollidersToTriggersNow(); } if (AddLimbScriptToColliders) { AddLimbScriptToColliders = false; AddLimbScriptToCollidersNow(); } } }