Referência › Referência de funções › Platform

Platform.glyphs.GetGlyphItemInfo

pública

Chame como

addon.Platform:GetGlyphItemInfo(itemID, classID)

Disponível diretamente por meio de addon; nenhuma dependência é necessária.

O que faz

Classifica um item numérico como glifo da classe solicitada, usando metadados de item nativos protegidos. A classe é opcional e, por padrão, é a classe legível do jogador. Isso estabelece apenas a classificação do item, não se está equipado nem um mapeamento de item para ID de feitiço de glifo.

Argumentos

NomeTipoO que faz
selfRMPlatformAdaptador de plataforma do Rotation Master (implícito nas chamadas com dois-pontos).
itemIDnumberID de item de glifo inteiro positivo armazenado pela condição; arrays, chaves de conjuntos de itens e IDs de feitiço não são referências de item.
classIDnumber | nilID de classe positivo opcional; nil consulta a classe atual do jogador de forma protegida.

Retornos

1table | nilRegistro canônico legível itemID/classID/subClassID quando o item é um glifo da classe solicitada; nil para metadados inválidos ou indisponíveis.
2string | nilMotivo de classificação, validação ou disponibilidade para um resultado nil.

Edições

As funções auxiliares integradas são registradas em todas as edições. O que muda é a API do jogo que elas leem; quando uma está ausente, a função auxiliar recorre a uma alternativa ou retorna nil com um motivo.

  • Indisponível nessa edição (o motivo está na dica)
  • Só enquanto as alternativas da Blizzard para APIs obsoletas estiverem ativas
API do jogoClassic EraTBC AnniversaryClassic ProgressionForeverRetail
UnitClassClassic EraTBC AnniversaryClassic ProgressionForeverRetail

Valores secretos (Retail e Forever)

No Retail e no Forever, o jogo entrega valores secretos aos addons. Esta função auxiliar verifica o que lê (addon.Platform:CanReadValue) e retorna nil com um motivo como restricted-value em vez de um valor secreto que não consegue comparar. Trate nil como indisponível, não como false.

Como o addon a chama

  • Glifo (valid)
    return addon.Platform:GetGlyphItemInfo(value.item, unit_class_num) ~= nil

Dependências

Código-fonte

Platform/glyphs.lua, linha 26. Somente leitura no jogo; Duplicar cria uma cópia editável.

Platform.glyphs.GetGlyphItemInfo(self, itemID, classID)
    if not self:CanReadValue(itemID) or not self:CanReadValue(classID) then return nil,'restricted-value' end
    if not integer(itemID,1) then return nil,'invalid-item' end
    if classID==nil then
        if type(UnitClass)~='function' then return nil,'missing-api' end
        local ok,tuple=pcall(function() return {UnitClass('player')} end)
        if not ok then return nil,'api-error' end
        classID=tuple[3]
        if not self:CanReadValue(classID) then return nil,'restricted-value' end
        if classID==nil then return nil,'class-data-unavailable' end
    end
    if not integer(classID,1) then return nil,'invalid-class' end
    local record,reason=self:GetItemInfoInstant(itemID)
    if not record then return nil,reason end
    if record.classID~=16 or record.subClassID~=classID then return nil,'invalid-glyph-item' end
    return record

Voltar para Referência de funções