Referencia › Referencia de funciones › Platform

Platform.loss_of_control.GetLossOfControlCount

pública

Llamar como

addon.Platform:GetLossOfControlCount()

Disponible directamente a través de addon; no se necesita ninguna dependencia.

Qué hace

Lee el recuento documentado de pérdidas de control activas con una llamada con punto protegida y sin argumentos. Requiere un entero finito, legible y no negativo. Cero es una exploración vacía completa y no requiere la API de filas. RM limita una exploración a 256 filas y devuelve no disponible más allá de ese presupuesto de recursos; no es un máximo nativo declarado. Las observaciones necesarias que faltan, fallan, están restringidas o mal formadas siguen sin estar disponibles.

Argumentos

NombreTipoQué hace
selfRMPlatformAdaptador de plataforma de Rotation Master (implícito en las llamadas con dos puntos).

Retornos

1number | nilRecuento activo conocido, desde cero hasta el presupuesto de exploración de RM, o nil si no está disponible.
2string | nilMotivo de la política de combate, la capacidad, la observación o el presupuesto de exploración para un recuento nil.

Ediciones

Las funciones auxiliares integradas se registran en todas las ediciones. Lo que cambia es la API del juego que leen; donde falta alguna, la función auxiliar usa una alternativa o devuelve nil con un motivo.

  • No disponible en esa edición (el motivo aparece en la información emergente)
  • Solo mientras estén activas las alternativas de Blizzard para API obsoletas
API del juegoClassic EraTBC AnniversaryClassic ProgressionForeverRetail
C_LossOfControlClassic EraTBC AnniversaryClassic ProgressionForeverRetail
canaccessvalueClassic EraTBC AnniversaryClassic ProgressionForeverRetail

Valores secretos (Retail y Forever)

En Retail y Forever, el juego les entrega a los addons valores secretos. Esta función auxiliar verifica lo que lee (addon.Platform:CanReadValue) y, en lugar de un secreto que no puede comparar, devuelve nil con un motivo como restricted-value. Trata nil como no disponible, no como falso.

Ejemplo

local count = addon.Platform:GetLossOfControlCount()
if count == nil then return nil end
return count > 0

Código fuente

Platform/loss_of_control.lua, línea 16. Solo lectura en el juego; Duplicar crea una copia editable.

Platform.loss_of_control.GetLossOfControlCount(self)
    local policy=self:GetCombatDataPolicy()
    if policy~='probe' and policy~='restricted' then return nil,'unsupported-policy' end
    local namespace=C_LossOfControl
    if not self:CanReadValue(namespace) then return nil,'restricted-value' end
    if type(namespace)~='table' then return nil,'missing-api' end
    local methodOk,method=pcall(function() return namespace.GetActiveLossOfControlDataCount end)
    if not methodOk then return nil,'api-error' end
    if not self:CanReadValue(method) then return nil,'restricted-value' end
    if type(method)~='function' then return nil,'missing-api' end
    local ok,count=pcall(method)
    if not ok then return nil,'api-error' end
    if not self:CanReadValue(count) then return nil,'restricted-value' end
    if canaccessvalue and not canaccessvalue(count) then return nil,'restricted-value' end
    if count==nil then return nil,'loss-of-control-count-unavailable' end
    if type(count)~='number' or count~=count or count==math.huge or count==-math.huge or count<0 or count%1~=0 then return nil,'invalid-api-result' end
    if count>256 then return nil,'loss-of-control-budget-exceeded' end
    return count

Volver a Referencia de funciones