Riferimento › Riferimento delle funzioni › Platform

Platform.range.GetRangeCheckBounds

pubblica

Chiamala come

addon.Platform:GetRangeCheckBounds(unit)

Disponibile direttamente tramite addon; non serve alcuna dipendenza.

Cosa fa

Legge l'intervallo pubblico di LibRangeCheck per un'unità. Un limite superiore riuscito è inclusivo; un limite inferiore positivo non riuscito è stretto. Un limite inferiore pari a zero è sintetico. Nessuno dei due limiti è una distanza esatta, e l'assenza di un limite superiore non prova che l'unità sia al di fuori di ogni raggio. Osservazioni non disponibili, malformate, soggette a restrizioni o fallite restituiscono nil con un motivo.

Argomenti

NomeTipoCosa fa
selfRMPlatformAdattatore di piattaforma di Rotation Master (implicito nelle chiamate con due punti).
unitstringIdentificativo unità attuale di cui osservare la distanza dal giocatore.

Valori restituiti

1table | nilIntervallo leggibile con limiti minimo e massimo facoltativi in metri. È presente almeno un limite; nil se non disponibile.
2string | nilMotivo di indisponibilità o di convalida quando il risultato è 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.

Esempio

local bounds = addon.Platform:GetRangeCheckBounds("target")
if not bounds then return nil end
if bounds.maximum and bounds.maximum <= 8 then return true end
if bounds.minimum and bounds.minimum >= 8 then return false end
return nil -- the interval straddles 8 yards

Sorgente

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

Platform.range.GetRangeCheckBounds(self, unit)
    if not self:CanReadValue(unit) then return nil,'restricted-value' end
    if type(unit)~='string' or unit=='' then return nil,'invalid-unit' end
    if not LibStub then return nil,'missing-range-provider' end
    local loaded,provider=pcall(function() return LibStub('LibRangeCheck-3.0',true) end)
    if not loaded or not provider or type(provider.GetRange)~='function' then return nil,'missing-range-provider' end
    local ok,minimum,maximum=pcall(provider.GetRange,provider,unit)
    if not ok then return nil,'range-provider-error' end
    if not self:CanReadValue(minimum) or not self:CanReadValue(maximum) then return nil,'restricted-value' end
    for _,bound in pairs({minimum=minimum,maximum=maximum}) do
        if type(bound)~='number' or bound~=bound or bound<0 or bound==math.huge then return nil,'invalid-range-result' end
    end
    if minimum==nil and maximum==nil then return nil,'range-unavailable' end
    if minimum and maximum and minimum>maximum then return nil,'invalid-range-result' end
    return {minimum=minimum,maximum=maximum}

Torna a Riferimento delle funzioni