J’ai quelques questions à propos de la création d’un événement personnalisé :
La fonction Generate possède un ref sur Game, mais j’ai besoin d’un pointeur, dois-je faire “&game” (cela retourne un pointeur sur la variable ou un pointeur sur la référence ?) ou autre chose ?
Pour être sûr qu’une variable ne soit pas crée deux fois (dans le cas, de sous-événement du même type d’événement), est-ce possible d’utiliser “this” pour générer le nom de la variable ?
Dans la mesure du possible, il est plus propre d’utiliser une référence, mais si tu as une fonction à appeler qui a besoin d’un pointeur, tu peux en effet lui passer “&game”.
Les évènements fonctions utilisent cette technique pour éviter qu’une fonction soit déclarée deux fois avec le même nom ( En soi, c’est un erreur d’avoir deux évènements fonctions avec le même nom, mais grâce à cette technique le code C++ generé ne sera pas invalide. )
Par exemple, les évènements fonctions génèrent leur code C++ en déclarant donc une fonction C++ avec ce nom :
"GDEventsGeneratedFunction"+name+ToString(this)
ce qui empêche tout conflit de nom donc : Même si l’utilisateur met deux fois le même nom pour deux évènements fonctions, le code C++ ne déclarera pas deux fois la même fonction.
Dans ton cas par contre, je ne sais pas si tu est obligé d’utiliser ça. Ce genre de code est parfaitement valide :
[code]int maVariable = 5;
{
int maVariable = 2;
maVariable++;
std::cout << maVariable; //Affichera 3
}
std::cout << maVariable; //Affichera 5[/code]
donc, je sais pas quel est exactement ton cas, mais si il s’agit d’une variable utilisée juste au niveau de ton évènement, il y a des chances pour que n’ai pas à te préoccuper de générer un nom unique.