有點久沒寫weakaura的文章了
這次想講的東西會相對進階一點 如果對lua完全陌生的人就..end吧 (啥
但如果稍微看得懂 又想做一些比較麻煩的功能 那這篇應該可以幫上一點忙
另外基本上我一直都是自己邊做邊找ref 所以如果有講錯就不負責啦 XDD
本篇會講的東西有 1. aura_env 環境
2. WeakAurasSaved 儲存變數
3. Trigger State Updater (TSU)
1. aura_env 環境
https://github.com/WeakAuras/WeakAuras2/wiki/The-Aura-Environment
首先從weakaura的架構講起
在建好一個aura以後 Weakaura首先會生一個對應的table出來
這個table叫做 aura_env
而關於這個weakaura的資訊 都會存在這個table當中
如果在weakaura的自訂觸發當中 抓到了一個字串
(比方說可能對話紀錄傳進來 拿到一個ID之類的)
那我想把它顯示在提醒效果的文字部分 該怎麼做呢?
變數這種東西是有範圍的
當然不能用local變數 會直接抓不到
用global範圍又太大 搞不好哪天被其他aura或addon蓋掉就尷尬了
於是我們就把他附在aura_env這個table中
舉個例子 假設今天從 觸發/自訂/事件/CHAT_MSG_WHISPER
(https://wow.gamepedia.com/index.php?title=CHAT_MSG_WHISPER )
傳進來一個密語 (這是有人密你的時候會觸發的event ↑)
那觸發那邊可以用 -> https://imgur.com/03b5DeX.jpg
https://imgur.com/e7lFFKe.jpg
function(event, ...)
local message, author = ...