Referencia › Referencia de funciones › Core

Core.health_forecast_conditions.nativeValue

dependencia

Llamar como

Core.health_forecast_conditions.nativeValue(self, unit, kind, cache)

Registra la dependencia Core.health_forecast_conditions.nativeValue y luego llámala con ese nombre. Una llamada con espacio de nombres no pasa self: usa una llamada con dos puntos o pasa tú mismo el objeto.

Qué hace

Reads a unit's current or maximum health through the platform's health-forecast observer and the evaluation cache, rejecting restricted, missing, nonfinite or negative values.

Argumentos

NombreTipoQué hace
selfRMAddonRotation Master addon instance whose Platform is used.
unitstringUnit token to read.
kindstring"current" or "maximum".
cachetable | nilEvaluation-pass cache passed to getCached, or nil to read directly.

Retornos

1number | nilHealth value, or nil when unavailable.
2string | nilReason for nil: missing-api, restricted-value, the observer's reason, health-data-unavailable or invalid-health-forecast-number.

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 recurre a una alternativa o devuelve nil con un motivo.

No lee directamente ninguna API del juego.

Valores secretos (Retail y Forever)

En Retail y Forever, el juego entrega a los addons valores secretos. Esta función auxiliar comprueba 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.

Cómo la llama el addon

Dependencias

Código fuente

Core/health_forecast_conditions.lua, línea 52. Solo lectura en el juego; Duplicar crea una copia editable.

Core.health_forecast_conditions.nativeValue(self, unit, kind, cache)
    local platform=self.Platform
    if type(platform.GetHealthForecastValueObservation)~='function' then return nil,'missing-api' end
    local value,why=addon.Functions.cache.getCached(cache,platform.GetHealthForecastValueObservation,platform,unit,kind)
    if not platform:CanReadValue(value) then return nil,'restricted-value' end
    if value==nil then return nil,why or 'health-data-unavailable' end
    local valid,reason=finite(platform,value)
    if not valid then return nil,reason end
    if value<0 then return nil,'invalid-health-forecast-number' end
    return value

Volver a Referencia de funciones