Chiamala come
addon:GetClassGroupCount(cache, class, raid)
Disponibile direttamente tramite addon; non serve alcuna dipendenza.
Cosa fa
Conta gli identificativi di classe corrispondenti nell'elenco fisso attuale dei membri. Legge prima l'appartenenza al gruppo; se richiesto, l'appartenenza a un'incursione seleziona da raid1 a raid40 senza un dato separato sul giocatore. I percorsi in solitario e in gruppo leggono prima player, poi da party1 a party4 se sei in gruppo. Un elenco dei membri completo e noto restituisce un conteggio, zero incluso; qualsiasi dato richiesto non disponibile restituisce nil con un motivo. Le osservazioni complete condividono la cache del passaggio di valutazione; nessuna classe del giocatore persiste tra un passaggio e l'altro. Le callback grezze archiviate mantengono separatamente la classe originale del momento del caricamento.
Argomenti
| Nome | Tipo | Cosa fa |
|---|---|---|
self | RMAddon | Istanza dell'addon Rotation Master (implicita nelle chiamate con due punti). |
cache | table | nil | Cache del passaggio di valutazione, oppure nil per osservazioni nuove. |
class | string | Identificativo non vuoto del nome file della classe da contare; non viene applicata alcuna lista consentita di identificativi di classe. |
raid | boolean | nil | True consente l'elenco dei membri dell'incursione quando l'appartenenza all'incursione è accertata; false o nil usa l'elenco in solitario o del gruppo. |
Valori restituiti
| 1 | number | nil | Conteggio completo delle classi corrispondenti, zero incluso, oppure nil se non disponibile. |
|---|---|---|
| 2 | string | nil | Motivo di convalida, di policy o di indisponibilità di un dato richiesto quando il conteggio è nil. |
Edizioni
Le funzioni di supporto integrate sono registrate su ogni edizione. Ciò che cambia è l'API di gioco che leggono; dove ne manca una, la funzione di supporto ripiega su un'alternativa o restituisce nil con un motivo.
Non legge direttamente alcuna API di gioco.
Valori segreti (Retail e Forever)
Su Retail e Forever il gioco fornisce agli addon valori segreti. Questa funzione di supporto controlla ciò che legge (addon.Platform:CanReadValue) e restituisce nil con un motivo come restricted-value invece di un valore segreto che non può confrontare. Considera nil come non disponibile, non come false.
Come la chiama l'addon
- Classe nel gruppo (evaluate)
local count,reason=addon:GetClassGroupCount(cache,value.class,value.raid)
Sorgente
Core/class_group_conditions.lua, riga 23. Nel gioco è in sola lettura; Duplica crea una copia modificabile.
Core.class_group_conditions.GetClassGroupCount(self, cache, class, raid)
local platform=self.Platform
if not platform:CanReadValue(class) or not platform:CanReadValue(raid) then return nil,'restricted-value' end
if type(class)~='string' or class=='' then return nil,'invalid-class-group-query' end
if raid~=nil and type(raid)~='boolean' then return nil,'invalid-class-group-query' end
local grouped,reason=self.Functions.cache.getCached(cache,platform.GetGroupMembership,platform,false)
if grouped==nil then return nil,reason end
local prefix,size='party',4
if grouped and raid then
local inRaid,why=self.Functions.cache.getCached(cache,platform.GetGroupMembership,platform,true)
if inRaid==nil then return nil,why end
if inRaid then prefix,size='raid',40 end
end
local count=0
if not grouped or prefix=='party' then
local player,why=self.Functions.cache.getCached(cache,platform.GetRosterClassObservation,platform,'player')
if player==nil then return nil,why end
if player==class then count=1 end
if not grouped then return count end
end
for index=1,size do
local observed,why=self.Functions.cache.getCached(cache,platform.GetRosterClassObservation,platform,prefix..tostring(index))
if observed==nil then return nil,why end
if observed==class then count=count+1 end
end
return count