Riferimento › Riferimento delle funzioni › Core

Core.class_group_conditions.GetClassGroupCount

pubblica

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

NomeTipoCosa fa
selfRMAddonIstanza dell'addon Rotation Master (implicita nelle chiamate con due punti).
cachetable | nilCache del passaggio di valutazione, oppure nil per osservazioni nuove.
classstringIdentificativo non vuoto del nome file della classe da contare; non viene applicata alcuna lista consentita di identificativi di classe.
raidboolean | nilTrue 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

1number | nilConteggio completo delle classi corrispondenti, zero incluso, oppure nil se non disponibile.
2string | nilMotivo 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

Torna a Riferimento delle funzioni