Création d'un événement

Salut 4ian,

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.

Ok, je pensais pas que les variables pouvaient être de même nom dans un sous-bloc. :wink: