Mercurial > wow > buffalo2
diff Templates.lua @ 102:1e511e9aaca5
- clean up handler loading inconsistencies; exclude free frames from anchor cluster iterations, and remove extraneous PLAYER_LOGIN handling
- added a Setup method to the handler template that creates and reconciles a SavedVariables table for that module
author | Nenue |
---|---|
date | Wed, 25 Jan 2017 23:11:27 -0500 |
parents | 74d6d97a2d24 |
children | 8df154a2bfd6 |
line wrap: on
line diff
--- a/Templates.lua Sat Jan 21 20:12:17 2017 -0500 +++ b/Templates.lua Wed Jan 25 23:11:27 2017 -0500 @@ -5,10 +5,14 @@ -- -- Mover Widget base local print = DEVIAN_WORKSPACE and function(...) _G.print('VnTemplate', ...) end or nop +local debugTemplates = {} VeneerConfigLayerMixin = {} VeneerAnimationMixin = {} -VeneerHandlerMixin = { anchorPoint = 'CENTER' } +VeneerHandlerMixin = { + anchorPoint = 'CENTER', + data = {}, +} function VeneerConfigLayerMixin:OnLoad() local handler = self:GetParent() @@ -53,6 +57,22 @@ function VeneerHandlerMixin:Reanchor (anchorAll) Veneer:DynamicReanchor() end +function VeneerHandlerMixin:Setup() + local configName = self:GetName():gsub('^Veneer', '') + VeneerData[configName] = VeneerData[configName] or {} + + -- reconcile any data accumulated before login trigger + for k,v in pairs(self.data) do + if not VeneerData[configName][k] then + print('reconciling pre-data:', k, v) + VeneerData[configName][k] = v + end + end + + self.data = VeneerData[configName] + print('data table loaded:', configName) + self.initialized = true +end function VeneerHandlerMixin:Print(...) local txt = '|cFFFFFF00'..self:GetName()..'|r:' @@ -60,5 +80,7 @@ txt = txt .. ' '.. tostring(select(i, ...)) end + + DEFAULT_CHAT_FRAME:AddMessage(txt) end \ No newline at end of file