[RESOLU] [DB - AL] Creer une list de GameObject depuis le GameManager
Publié : 06 Avr 2019 15:07
Bonjour à tous.
Je suis débutant sur Unity et je bloque sur un problème qui je pense est extrêmement évident pour tout programmer avec un peu de bouteille
J'ai une scène très simple avec une table et un téléphone :
j'ai attaché un script "focusable" à la table et au téléphone.
et j'aimerai avoir une liste (ou array) dans le GameManager avec tout mes objets "focusables".
J'ai essayé un GetComponentsInParent mais il ne trouve rien (si je comprend bien c'est normal vu que le GameManager est à la racine)
j'ai essayer de faire un singleton de mon GameManager pour pouvoir y accéder depuis tous les scripts :
et puis d'ajouter l'objet "focusable" dans la fonction start
Mais là Unity me dis "NullReferenceException". Si je dis pas de bétise mon erreur est d'essayer de stocker la classe dans la liste et pas l'object. Vu qu'il n'y a pas de script qui instancie mes objects "focusables" je ne peux pas récupérer la référence de l'objet.
J'espère que j'ai été clair et je vous remercie d'avance de vos réponses.
Merci,
Dim
Je suis débutant sur Unity et je bloque sur un problème qui je pense est extrêmement évident pour tout programmer avec un peu de bouteille
J'ai une scène très simple avec une table et un téléphone :
j'ai attaché un script "focusable" à la table et au téléphone.
et j'aimerai avoir une liste (ou array) dans le GameManager avec tout mes objets "focusables".
J'ai essayé un GetComponentsInParent mais il ne trouve rien (si je comprend bien c'est normal vu que le GameManager est à la racine)
j'ai essayer de faire un singleton de mon GameManager pour pouvoir y accéder depuis tous les scripts :
Code : Tout sélectionner
public List<Focusable> focusables = new List<Focusable>();
public static GameManager instance = null;
void Awake()
{
if (instance == null)
instance = this;
else if (instance != this)
Destroy(gameObject);
}
Code : Tout sélectionner
GameManager gM = GameManager.instance;
void Start()
{
gM.focusables.Add(this);
}
J'espère que j'ai été clair et je vous remercie d'avance de vos réponses.
Merci,
Dim