void Disconnect() { //only if not already detached if (!detached) { if (smokeEffect != null) { //set smoke parent to the ship smokeEffect.transform.parent = transform.parent; //play smoke smokeEffect.Play(); fireEffect.transform.parent = transform.parent; fireEffect.Play(); } //change parent to fallen parts transform.parent = fallenParts; //turn off kinematic rb.isKinematic = false; //turn on gravity rb.useGravity = true; //turn on collider GetComponent <MeshCollider>().enabled = true; //launch? rb.AddForce(transform.up * launchForce, ForceMode.Impulse); //turn off thrusters if (thrusterEffect != null) { thrusterEffect.Stop(); } detached = true; //toggle off collision box on racer, if there is one if (thisbox != null) { thisbox.enabled = false; } //set hp to 0 partHP = 0; //tell racer this comp fell off racer_scr.DecreaseCrashVel(); } }