private void tagTree(bool toPlayer) { if (toPlayer) { //this.gameObject.GetComponent<SpriteRenderer>().color = new Color(0.5f, 0f, 1f); gameObject.tag = "Player"; } else { gameObject.tag = "PlayerPart"; } foreach (Transform child in transform) { loosePart childPart = child.GetComponent <loosePart>(); childPart.playerEjected = playerEjected; childPart.tagTree(toPlayer); } }
private void reverseTree() { if (transform.parent != null && transform.parent != playerReference) { loosePart partScript = transform.parent.GetComponent <loosePart>(); partScript.reverseTree(); if (transform.parent.parent == null) { //partScript.vel = Vector2.zero; partScript.rb.velocity = Vector2.zero; partScript.rb.angularVelocity = 0; partScript.attached = true; } partScript.joint.connectedBody = rb; partScript.joint.enabled = true; Transform parentReference = transform.parent; transform.parent = null; parentReference.parent = transform; } }