Interface de programmation d'application

De Wowpedia
Aller à : navigation, rechercher

L’interface de programmation d'application de WoW (souvent désignée par le terme API[1]) comprise les fonctions que Blizzard offre pour modifier l'interface utilisateur. Ces fonctions permetent les extensions (AddOns) et macro-commandes d’accéder l'état de jeu.

Forme[modifier | modifier le wikicode]

L'API existe en Lua, et toutes les fonctions sont nommées en anglais comme "CreateFrame()" ou "GetUnitHealth()". Depuis le Patch 7.2, le jeu contient un instruction "/api" qui imprime une liste de systèmes, et chaque système contient aussi une liste des fonctions et évènements associés avec des arguments et retours. Pour accéder cette documentation, utilise les commandes suivantes au fenêtre de chat:

  • /api help - Les instructions pour utiliser la commande /api
  • /api system list - Une liste des systèmes pour utiliser en lieu de nom_de_système à la commande suivant
  • /api nom_de_système list - Une liste des fonctions et évènements du système
  • /api nom_de_système filtre_de_recherche - Une liste des fonctions et évènements du système qui corresponde au filtre

Par exemple: /api item search get donne:

Found 14 API that matches "Get"
Found 13 functions
  function C_Item.GetCurrentItemLevel(itemLocation)
  ...
  12 more rows
  ...
Found 1 events(s)     [sic.]
  function Event.Item.GetItemInfoReceived -> itemID, success

Et appuyez sur le nom de fonction, C_Item.GetCurrentItemLevel, pour obtenir:

function C_Item.GetCurrentItemLevel(itemLocation)
  Part of the Item system 
  Arguments
    1. table itemLocation
  Returns
    1. (optional) number currentItemLevel

Malheureusement, cette documentation officielle n'est pas complet, et elle n'indique pas le rôle de chaque fonction. C'est effectivement nécessaire d'utiliser les ressources non officiel pour comprendre l'API.

Localisation[modifier | modifier le wikicode]

Malgré que l'API existe en anglais, c'est possible de localiser les extensions en dix langues et régions. La localisation permet de fournir une texte locale, dans la même langue de l'interface utilisateur.

Le code suivant imprime "Hello" par défaut, ou "Bonjour" en français, ou "Hallo" en allemand.

local texte = "Hello"
if (GetLocale() == "frFR") then
  texte = "Bonjour"
elseif (GetLocale() == "deDE") then
  texte = "Hallo"
end
print(texte)

Voir aussi[modifier | modifier le wikicode]

Références[modifier | modifier le wikicode]