Referência › Referência de funções › Core

Core.health_forecast_conditions.nativeValue

dependência

Chame como

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

Registre a dependência Core.health_forecast_conditions.nativeValue e depois chame-a por esse nome. Uma chamada com namespace não passa self: use uma chamada com dois-pontos ou passe o objeto você mesmo.

O que faz

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

NomeTipoO que faz
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.

Edições

As funções auxiliares integradas são registradas em todas as edições. O que muda é a API do jogo que elas leem; quando uma está ausente, a função auxiliar recorre a uma alternativa ou retorna nil com um motivo.

Não lê nenhuma API do jogo diretamente.

Valores secretos (Retail e Forever)

No Retail e no Forever, o jogo entrega valores secretos aos addons. Esta função auxiliar verifica o que lê (addon.Platform:CanReadValue) e retorna nil com um motivo como restricted-value em vez de um valor secreto que não consegue comparar. Trate nil como indisponível, não como false.

Como o addon a chama

Dependências

Código-fonte

Core/health_forecast_conditions.lua, linha 52. Somente leitura no jogo; Duplicar cria uma cópia editável.

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

Voltar para Referência de funções