呼叫方式
Conditions.spatial.protectedRead(cache, method, ...)
記錄相依項目 Conditions.spatial.protectedRead,然後以該名稱呼叫。含命名空間的呼叫不會傳入 self:請使用冒號呼叫,或自行傳入該物件。
作用
來自 Conditions/spatial.lua 的內建輔助函式。
參數
| 名稱 | 類型 | 作用 |
|---|---|---|
cache | table | nil | Evaluation-pass cache passed to getCached, or nil to read directly. |
method | function | Function to call; any other value returns false and missing-api. |
... | any | Arguments forwarded to method. |
傳回值
| 1 | boolean | True when the call succeeded, as pcall reports it. |
|---|---|---|
| 2 | any | On success, every result of method; on failure, the error message or missing-api. |
版本
內建輔助函式在每個版本上都會註冊。不同的是它們讀取的遊戲 API;某個 API 不存在時,輔助函式會改用備用方式,或傳回 nil 並附上原因。
它不會直接讀取任何遊戲 API。
插件如何呼叫它
- 距離內計數 (evaluate)
local ok,current=protectedRead(cache,UnitGUID,entity.unit) Conditions.spatial.booleanReadlocal ok,result=protectedRead(cache,method,...)
原始碼
Functions/cache.lua,第 24 行。在遊戲中為唯讀;「複製」會產生一份可編輯的複本。
Conditions.spatial.protectedRead(cache, method, ...)
if type(method)~="function" then return false,"missing-api" end
return pcall(addon.getCached,cache,method,...)