Referenz › Funktionsreferenz › Platform

Platform.runes.GetRuneTypeObservation

öffentlich

Aufruf als

addon.Platform:GetRuneTypeObservation(index)

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

Was sie bewirkt

Einen exakten nativen Runenplatz mit GetRuneType und seinem einzigen Index-Argument beobachten. Erforderlich ist ein lesbarer endlicher positiver ganzzahliger Typ; bekannte künftige numerische Typen bleiben vom ausgewählten Typ unterscheidbar, und die Todesrune ist ein exakter Typ, kein Joker. Fehlende, fehlgeschlagene, eingeschränkte oder fehlerhafte Beobachtungen bleiben nicht verfügbar. Es wird keine Abfrage von Klasse, Einheit, Anzahl oder abgeleiteter Basisrune hinzugefügt.

Argumente

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

Rückgabewerte

1number | nilLesbarer endlicher positiver ganzzahliger Runentyp oder nil, wenn nicht verfügbar.
2string | nilGrund aus Richtlinie, Platzvalidierung oder Verfügbarkeit einer erforderlichen Beobachtung für einen nil-Typ.

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
GetRuneTypeClassic 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 death = 0
for index = 1, 6 do
  local runeType = addon.Platform:GetRuneTypeObservation(index)
  if runeType == nil then return nil end
  if runeType == 4 then death = death + 1 end -- 4 is a Death rune
end
return death >= 2

Abhängigkeiten

Quelle

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

Platform.runes.GetRuneTypeObservation(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=GetRuneType
    if type(api)~='function' then return nil,'missing-api' end
    local ok,value=pcall(api,index)
    if not ok then return nil,'api-error' end
    local runeType,why=numberField(self,value,'rune-type-unavailable')
    if runeType==nil then return nil,why end
    if runeType<=0 or runeType%1~=0 then return nil,'invalid-api-result' end
    return runeType

Zurück zu Funktionsreferenz