Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:ajouter_une_touche [2016/06/11 23:19] – créée Sit Melaifr:ajouter_une_touche [2021/12/03 19:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Ajouter une touche ======+====== Ajouter une touche dans le Client de jeu ======
  
-====== Fichiers concérnés ======+===== Fichiers concernés =====
  
-actions.xml +  * ''actions.xml'' 
-hierarchy.xml +  * ''hierarchy.xml'' 
-macros.xml+  * ''macros.xml'' 
 +  * un fichier de Action Handler, par exemple pour les touches de chat: ''client_chat_manager.cpp''
  
-{{tag>Tag_a_ajouter}}+ 
 +===== 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: 
 + 
 +<code> 
 +class CHandlerChatAction : public IActionHandler 
 +
 +  void execute (CCtrlBase * /* pCaller */, const std::string &sParams) 
 +  { 
 +    //Code à exécuter pour la touche ChatAction 
 +  } 
 +}; 
 +</code> 
 + 
 +Une fois le code écrit, il faut enregistrer la classe dans le //Action Handler// : 
 + 
 +<code> 
 +REGISTER_ACTION_HANDLER( CHandlerChatAction, "chat_action"); 
 +</code> 
 + 
 +<WRAP center round important 90%> 
 +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. 
 +</WRAP> 
 + 
 + 
 +Ajoutez ensuite dans ''actions.xml'' une ligne qui appelle le //Action Handler// pour le nom défini : 
 +<code> 
 +  <action name="chat_action" hardtext="uiChatAction"> 
 +</code> 
 + 
 +  * 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 ! 
 + 
 + 
 +{{tag>Client Gameplay Tutoriel client_rc_obsolete}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/ajouter_une_touche.1465679980.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact