Y a-t'il un moyen d'indiquer dans un script qu'on ne veut pas de recherche avec FindGameObjectWithTag parmi les enfants et petits enfants d'un gameObject?
Je m'explique:
Dans Hierarchy, j'ai Canvas qui a des enfants. Et un de ces enfants a aussi des enfants (6) : 2 avec le tag "a", 2 avec le tag "b", 2 avec le tag"c".
Dans Hierarchy, j'ai aussi 3 gameObject : Cadre1 avec le tag "a", Cadre2 avec le tag "b" et Cadre3 avec le tag "c".
Dans une fonction je veux désactiver les gameObject cadre1 et cadre3 qui n'ont pas le tag "b", par exemple.
J'ai utilisé un FindGameObjectWithTag("b") pour trouver le gameObject cadre2.
La première fois, il me trouve bien cadre2 mais la fois suivante il me trouve le premier petit-enfant de Canvas qui a le tag "b".
Y a-t'il un moyen d'indiquer dans le script qu'on ne veut pas de recherche parmi les enfants et petits enfants, seulement parmi des GameObject Parents?
Code : Tout sélectionner
private void desactiveCadre()
{
string tagChoisi = "b";
cadre = GameObject.FindGameObjectWithTag(tagChoisi).GetComponent<Transform>();
Debug.Log("cadre = " + cadre);
Debug.Log("tagChoisi = " + tagChoisi);
//je désactive tous les cadres
cadre1.transform.gameObject.SetActive(false);
cadre2.transform.gameObject.SetActive(false);
cadre3.transform.gameObject.SetActive(false);
//je re-active le cadre qui a le même tag que tagChoisi
cadre.transform.gameObject.SetActive(true);
}