Referenz › Funktionsreferenz › Platform

Platform.runes.GetRuneCooldownObservation

öffentlich

Aufruf als

addon.Platform:GetRuneCooldownObservation(index)

Direkt über addon verfügbar; keine Abhängigkeit nötig.

Was sie bewirkt

Ein geschütztes GetRuneCooldown-Tupel für einen exakten nativen Platz lesen. ready, start und duration unabhängig normalisieren: ready erfordert einen lesbaren booleschen Wert, jede Zeit eine lesbare endliche Zahl, wobei vorzeichenbehaftete, gebrochene und Nullwerte erhalten bleiben. Jedes nicht verfügbare Feld trägt seinen eigenen Grund. Ein erfolgreiches leeres Tupel ergibt einen teilweisen Datensatz; fehlende Client-Unterstützung, Richtlinie oder ein Fehlschlag des nativen Aufrufs ergibt nil. Nie ready aus dem Timing oder das Timing aus ready ableiten. Diesen vollständigen Datensatz beim Aufrufer zwischenspeichern, um eine Beobachtung zwischen Prädikaten für Runenanzahl und Abklingzeit zu teilen.

Argumente

NameTypWas sie bewirkt
selfRMPlatformPlattformadapter von Rotation Master (bei Doppelpunktaufrufen implizit).
indexnumberExakter ganzzahliger nativer Runenplatz von 1 bis 6.

Rückgabewerte

1table | nilTeilweiser Datensatz mit ready oder readyReason, start oder startReason sowie duration oder durationReason; nil nur, wenn die Abfrage selbst nicht verfügbar ist.
2string | nilVerfügbarkeitsgrund aus Richtlinie, Platzvalidierung, Client-Unterstützung oder nativem Aufruf für einen nil-Datensatz.

Editionen

Integrierte Hilfsfunktionen werden auf jeder Edition registriert. Unterschiedlich ist die Spiel-API, die sie lesen; fehlt eine, weicht die Hilfsfunktion aus oder gibt nil mit einem Grund zurück.

  • Auf dieser Edition nicht verfügbar (den Grund nennt der Tooltip)
  • Nur, solange Blizzards Ersatz für veraltete Funktionen aktiv ist
Spiel-APIClassic EraTBC AnniversaryClassic ProgressionForeverRetail
GetRuneCooldownClassic EraTBC AnniversaryClassic ProgressionForeverRetail

Geheime Werte (Retail und Forever)

Auf Retail und Forever übergibt das Spiel Addons geheime Werte. Diese Hilfsfunktion prüft, was sie liest (addon.Platform:CanReadValue), und gibt statt eines geheimen Werts, den sie nicht vergleichen kann, nil mit einem Grund wie restricted-value zurück. Behandeln Sie nil als nicht verfügbar, nicht als false.

Beispiel

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

Abhängigkeiten

Quelle

Platform/runes.lua, Zeile 72. Im Spiel schreibgeschützt; Duplizieren erstellt eine bearbeitbare Kopie.

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

Zurück zu Funktionsreferenz