Riferimento › Riferimento delle funzioni › Platform

Platform.runes.GetRuneCooldownObservation

pubblica

Chiamala come

addon.Platform:GetRuneCooldownObservation(index)

Disponibile direttamente tramite addon; non serve alcuna dipendenza.

Cosa fa

Legge una singola tupla protetta di GetRuneCooldown per uno slot nativo esatto. Normalizza ready, start e duration in modo indipendente: ready richiede un booleano leggibile, mentre ogni tempo richiede un numero leggibile e finito e preserva i valori con segno, frazionari e zero. Ogni campo non disponibile ha il proprio motivo. Una tupla vuota restituita con successo produce un record parziale; funzionalità mancante, policy o errore della chiamata nativa producono nil. Non dedurre mai ready dai tempi né i tempi da ready. Memorizza in cache questo record completo nel chiamante per condividere una sola osservazione tra i predicati di conteggio delle rune e di tempo di recupero.

Argomenti

NomeTipoCosa fa
selfRMPlatformAdattatore di piattaforma di Rotation Master (implicito nelle chiamate con due punti).
indexnumberSlot di runa nativo esatto e intero, da 1 a 6.

Valori restituiti

1table | nilRecord parziale contenente ready o readyReason, start o startReason e duration o durationReason; nil solo quando la query stessa non è disponibile.
2string | nilMotivo di policy, di convalida dello slot, di funzionalità o di indisponibilità della chiamata nativa quando il record è 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 disponibile su quell'edizione (il motivo è nel suggerimento)
  • Solo mentre sono attivi i ripieghi di Blizzard per le API deprecate
API di giocoClassic EraTBC AnniversaryClassic progressionForeverRetail
GetRuneCooldownClassic EraTBC AnniversaryClassic progressionForeverRetail

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.

Esempio

local rune = addon.Platform:GetRuneCooldownObservation(1)
if not rune or rune.ready == nil then return nil end
return rune.ready

Dipendenze

Sorgente

Platform/runes.lua, riga 72. Nel gioco è in sola lettura; Duplica crea una copia modificabile.

Platform.runes.GetRuneCooldownObservation(self, index)
    local policy=self:GetCombatDataPolicy()
    if policy~='probe' and policy~='restricted' then return nil,'unsupported-policy' end
    local valid,reason=validIndex(self,index)
    if not valid then return nil,reason end
    local api=GetRuneCooldown
    if type(api)~='function' then return nil,'missing-api' end
    local ok,tuple=pcall(function() return {api(index)} end)
    if not ok then return nil,'api-error' end
    local record={}
    record.start,record.startReason=numberField(self,tuple[1],'rune-start-unavailable')
    record.duration,record.durationReason=numberField(self,tuple[2],'rune-duration-unavailable')
    local ready=tuple[3]
    if not self:CanReadValue(ready) then record.readyReason='restricted-value'
    elseif ready==nil then record.readyReason='rune-ready-unavailable'
    elseif type(ready)~='boolean' then record.readyReason='invalid-api-result'
    else record.ready=ready end
    return record

Torna a Riferimento delle funzioni