J'essaie d'enregistrer un MethodInfo dans un script via une fenêtre d'éditeur. Lorsque je crée le script qui doit mémoriser les informations sur la méthode, cela fonctionne bien mais chaque fois que l'unité recompile (Run-Time, le script a changé ou l'unité redémarre), la variable MethodInfo a été réinitialisée à null. Ce qui se passe avec précision: Je sélectionne un composant appartenant à un objet GameObject et un objet MethodInfo appartenant à ce composant. Créez ensuite un nouvel objet GameObject contenant un script contenant des variables pour GameObject, Component & MethodInfo. Je définis ensuite ces variables sur les variables sélectionnées. Jusqu'à maintenant cela fonctionne. Lorsque l'unité est à nouveau compilée, GameObject et Component sont toujours sauvegardés mais MethodInfo est devenu null.Enregistrement de la variable MethodInfo dans Unity EditorWindow to Component, var réinitialise à la compilation
Toute aide serait grandement appréciée.
Merci pour la réponse, j'ai pensé la même chose que c'est exactement ce que j'ai fait, je n'aime pas ces hacks laids, mais espérait une solution plus propre –
Eh bien, si vous voulez appeler des méthodes au moyen de réflexion, en utilisant les caractéristiques de Reflection sont la seule chose raisonnable à faire. Unity utilise la même mécanique pour implémenter UnityEvents (utilisé par Unity UI). Peut-être qu'ils sont exactement ce que vous cherchez? Sinon, donnez un peu plus de détails sur ce que vous essayez d'accomplir, afin que les gens puissent proposer des alternatives. –