Quantcast
Channel: Questions in topic: "loops"
Viewing all articles
Browse latest Browse all 184

How to change (grand)children tag?

$
0
0
In this (part of) script I "eject" the "selected" gameobject (called "Int_Molecule") from the player object.

void Eject() { if (Player.objectGrabed.Count >= 1 && Input.GetKeyDown(KeyCode.Mouse0)) { //var obj = Player.objectGrabed.Last(); Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); var closestObject = collidingObjects.OrderBy(_ => (_.transform.position - (Vector3)mousePos).sqrMagnitude).First(); closestObject.GetComponentInChildren().tag = "Mid_Molecule"; closestObject.tag = "Mid_Molecule"; closestObject.GetComponent().bodyType = RigidbodyType2D.Dynamic; closestObject.GetComponent().AddForce(closestObject.transform.parent.up * Player.throwSpeed); closestObject.transform.SetParent(null); StartCoroutine(ChangeTag()); //Destroy(obj, 3f); Player.objectGrabed.RemoveAt(Player.objectGrabed.Count - 1); } } IEnumerator ChangeTag() { Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); var closestObject = collidingObjects.OrderBy(_ => (_.transform.position - (Vector3)mousePos).sqrMagnitude).First(); yield return new WaitForSeconds(3f); closestObject.GetComponentInChildren().tag = "Ext_Molecule"; closestObject.tag = "Ext_Molecule"; }

To complete the process (and be able to pick them up then) I need to turn the tag back into "Ext_Molecule". When I select the object I want to eject with my mouse (purple outline) if that object has children and even grandchildren I want to change their tags too.

![alt text][1]

![alt text][2] [1]: /storage/temp/192717-children-viewer.png [2]: /storage/temp/192718-children.png

I have read a few discussions on this topic and I know that GetComponentInChildren does a depth first research so it could reach grandchildren, but I am not sure what <> argument to use. Also some suggest to use a foreach and/or a for [i] loop, but I am not sure how to write it in this case.

Viewing all articles
Browse latest Browse all 184

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>