onClick auditeur délégation sur le Bouton de l'INTERFACE utilisateur

Depuis 4.6 l'unité utilise un nouveau système d'UI, ce que je n'ai jamais utilisé. Jusqu'à aujourd'hui.

Ce que je suis en train de faire est de générer des boutons de façon dynamique, donc je dois aussi ajouter l'événement onClick d'une manière dynamique (ou au moins à l'aide de scripts).

J'ai essayé d'étendre le onClick l'Auditeur, mais il ne veut pas travailler:

btn.GetComponent<Button>().onClick.AddListener(() => { placeBuilding(obj.name); });

Il va donner à cette erreur, qui ne semble assez claire de ce qui est faux:

Assets/Scripts/Menu/btnBouwen.cs(72,45): error CS0119: Expression denotes a 'method group', where a 'variable', 'value' or 'type' was expected

Cependant, je n'ai aucune idée de comment faire pour utiliser un UnityAction comme il semble que le type requis pour l'appel.

Se sent comme je suis absent quelque chose de vraiment facile. Espérons que quelqu'un peut m'aider.

Salutations,
Nkmol

  • Euh, pourquoi voulez-vous ajouter Cliquez Auditeur à la nouvelle INTERFACE utilisateur? Je suis curieux de cause c'est déjà un onClick auditeur, cette réponse parfaitement à un Clic de la Souris et des Touches, Plusieurs Touches aswell. Contrairement à OnGui vous n'avez pas à ajouter Listner, ou SI la condition au début. Vous pouvez même faire une méthode publique pour tout script et ouvrir le ButtonObject OnClick composant, et faites glisser le gameobject avec la méthode publique sur elle, et sélectionnez la méthode dans la liste déroulante, donc il va tirer.
  • Voulez-vous dire à un certain point, que vous souhaitez faire glisser un GameObject pour le onClick de la nouvelle INTERFACE utilisateur et d'accéder à l'scripts à partir de là? Je comprends que vous voulez faire dynamiquement et je suis curieux car je n'ai jamais aussi bien fait.
  • Imaginez que vous avez un List<> avec certaines valeurs qui peuvent avoir plusieurs valeurs une fois que l'application est en cours d'exécution. J'en boucle au travers de cette liste et pour chaque valeur, je veux générer un Button. Tout ceci est générée par le code, et donc je ne peut pas utiliser l'interface utilisateur de l'unité et de glisser le GameObject à l'événement onClick.
  • Je comprends. Permettez-moi de l'essayer moi-même et voir si je peux en sortir. Je pourrais utiliser cette procédure dans l'avenir.
InformationsquelleAutor nkmol | 2015-04-02