Ajouter une touche dans le Client de jeu
Fichiers concernés
actions.xml
hierarchy.xml
macros.xml
- un fichier de Action Handler, par exemple pour les touches de chat:
client_chat_manager.cpp
Procédure
Ajoutez dans un fichier C++ (par exemple client_chat_manager.cpp
) un Action Handler qui utilise IActionHandler. Exemple avec une touche de chat:
class CHandlerChatAction : public IActionHandler
{
void execute (CCtrlBase * /* pCaller */, const std::string &sParams)
{
//Code à exécuter pour la touche ChatAction
}
};
Une fois le code écrit, il faut enregistrer la classe dans le Action Handler :
REGISTER_ACTION_HANDLER( CHandlerChatAction, "chat_action");
Choisissez un nom facile à se souvenir, car il va être réutilisé plus tard (ici chat_action).
Utilisez un nom descriptif, en anglais, afin de faciliter la relecture du code par d'autres ensuite.
Ajoutez ensuite dans actions.xml
une ligne qui appelle le Action Handler pour le nom défini :
<action name="chat_action" hardtext="uiChatAction">
- Le name est le nom sous lequel l'Action Handler a été enregistré
- Le hardtext spécifie l'entrée pour l'identifiant dans les fichiers de traduction, qui sera affiché aux utilisateurs. Il commencera normalement par ui suivi du nom de l'action en CamelCase. Attention que l'identifiant ne soit pas déjà pris !