Référence › Référence des fonctions › Platform

Platform.groups.GetGroupMembership

publique

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

NomTypeCe qu'elle fait
selfRMPlatformAdaptateur de plateforme Rotation Master (implicite avec un appel par deux-points).
raidOnlyboolean | niltrue demande l'appartenance à un raid ; false ou nil demande l'appartenance à un groupe quelconque.

Retours

1boolean | nilAppartenance observée, ou nil si indisponible.
2string | nilMotif 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
API du jeuClassic EraTBC AnniversaryClassic ProgressionForeverRetail
IsInGroupClassic EraTBC AnniversaryClassic ProgressionForeverRetail
IsInRaidClassic EraTBC AnniversaryClassic ProgressionForeverRetail

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 raid

Source

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

Retour à Référence des fonctions