Appel
addon.Platform:GetGroupMembership(raidOnly)
Disponible directement via addon ; aucune dépendance n'est nécessaire.
Ce qu'elle fait
Lit l'appartenance publique au groupe sur les familles de clients identifiées. Les clients inconnus ne sont pas pris en charge. raidOnly à true vérifie IsInRaid ; false ou nil vérifie IsInGroup avec sa catégorie de groupe native par défaut. Un résultat false lisible reste false. Les observations manquantes, en échec, mal formées ou restreintes renvoient nil avec un motif.
Arguments
| Nom | Type | Ce qu'elle fait |
|---|---|---|
self | RMPlatform | Adaptateur de plateforme Rotation Master (implicite avec un appel par deux-points). |
raidOnly | boolean | nil | true demande l'appartenance à un raid ; false ou nil demande l'appartenance à un groupe quelconque. |
Retours
| 1 | boolean | nil | Appartenance observée, ou nil si indisponible. |
|---|---|---|
| 2 | string | nil | Motif de validation ou de disponibilité pour un résultat nil. |
Éditions
Les fonctions utilitaires intégrées sont enregistrées sur toutes les éditions. Ce qui diffère, c'est l'API du jeu qu'elles lisent ; quand l'une manque, la fonction utilitaire se rabat sur une alternative ou renvoie nil avec une raison.
- Indisponible sur cette édition (la raison figure dans l'infobulle)
- Uniquement tant que les solutions de repli de Blizzard pour les fonctions obsolètes sont actives
Valeurs secrètes (Retail et Forever)
Sur Retail et Forever, le jeu transmet aux addons des valeurs secrètes. Cette fonction utilitaire vérifie ce qu'elle lit (addon.Platform:CanReadValue) et renvoie nil avec une raison telle que restricted-value au lieu d'une valeur secrète qu'elle ne peut pas comparer. Traitez nil comme indisponible, pas comme false.
Exemple
local grouped = addon.Platform:GetGroupMembership(false)
local raid = addon.Platform:GetGroupMembership(true)
if grouped == nil or raid == nil then return nil end
return grouped and not raid -- in a party, not a raidSource
Platform/groups.lua, ligne 20. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.
Platform.groups.GetGroupMembership(self, raidOnly)
if not self:CanReadValue(raidOnly) then return nil,'restricted-value' end
if raidOnly~=nil and type(raidOnly)~='boolean' then return nil,'invalid-group-query' end
if self:GetClientFamily()=='unknown' then return nil,'unsupported-client' end
local fn
if raidOnly then fn=IsInRaid else fn=IsInGroup end
if type(fn)~='function' then return nil,'missing-api' end
local ok,member=pcall(fn)
if not ok then return nil,'api-error' end
if not self:CanReadValue(member) then return nil,'restricted-value' end
if member==nil then return nil,'group-data-unavailable' end
if type(member)~='boolean' then return nil,'invalid-api-result' end
return member




