Salut Boubouk 50,
Merci de t’intéresser à mon problème...
Je suis en train de faire une petite application test pour expliquer la manière de collaborer avec Unity à un nouveau collègue graphiste (je ne lui explique pas le script, la question c'est juste pour mon esprit tordu ...
)
Alors, en gros, j'ai un objet (une mine) qui doit suivre mon perso. Cette mine se met à suivre mon perso s'il entre dans une zone proche de la mine (la mine est englobée dans un grand SphereCollider). Si la mine s'approche trop de mon perso, elle explose (via un collider sur la mine)
Ma mise est agencée de la manière suivante :
Un EmptyGameObject contenant un GameObject représentant la mine en 3D
L'EmptyGameObject contient dans la pile de son inspecteur :
->
Le SphereCollider pour la détection de proximité entrainant le suivi du perso
->
le script gérant le comportement de la mine (appelons le MineManager)
Le GameObject de la mine 3D contient dans la pile de son inspecteur :
->
Le SphereCollider pour la détection du perso entrainant l'explosion.
Alors évidemment, pour l'explosion, on devrait mettre un OnTriggerEnter dans un script que l'on mettrait sur la mine 3D (enfant de l'EmptyGameObject) qui appellerait une méthode de MineManager qui détruirait la représentation de la mine et placerait un prefab d'explosion à la place.
(Si je ne suis pas clair, tu me le dis hein ... )
Mais moi et ma maladie mentale, on voudrais
TOUT mettre dans le MineManager (donc dans le script parent).
Alors, j'ai déjà fait cela une fois avec un bouton. Plutôt que de donner des ordres à mon bouton dans l'interface d'Unity, j'ai fait ceci dans mon GameManager :
Code : Tout sélectionner
btn_validation = GameObject.Find("ValidationBtn").GetComponent<Button>(); // Le bouton de validation présent sur la scène
btn_validation.onClick.AddListener(delegate { Validate();}); // appel de la fonction de validation
Donc, voilà, je ne sais pas si cela est possible. Je ne sais même pas si c'est propre de faire cela ...
Merci pour ton aide.