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
| Name | Typ | Was sie bewirkt |
|---|---|---|
self | RMPlatform | Plattformadapter von Rotation Master (bei Doppelpunktaufrufen implizit). |
index | number | Exakter ganzzahliger nativer Runenplatz von 1 bis 6. |
Rückgabewerte
| 1 | table | nil | Teilweiser Datensatz mit ready oder readyReason, start oder startReason sowie duration oder durationReason; nil nur, wenn die Abfrage selbst nicht verfügbar ist. |
|---|---|---|
| 2 | string | nil | Verfü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-API | |||||
|---|---|---|---|---|---|
GetRuneCooldown |
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.readyAbhängigkeiten
numberField→Platform.runes.numberFieldvalidIndex→Platform.runes.validIndex
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




