comparison 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
comparison
equal deleted inserted replaced
101:f32b63c93275 102:1e511e9aaca5
3 -- Created: 10/24/2016 9:16 AM 3 -- Created: 10/24/2016 9:16 AM
4 -- %file-revision% 4 -- %file-revision%
5 -- 5 --
6 -- Mover Widget base 6 -- Mover Widget base
7 local print = DEVIAN_WORKSPACE and function(...) _G.print('VnTemplate', ...) end or nop 7 local print = DEVIAN_WORKSPACE and function(...) _G.print('VnTemplate', ...) end or nop
8 local debugTemplates = {}
8 9
9 VeneerConfigLayerMixin = {} 10 VeneerConfigLayerMixin = {}
10 VeneerAnimationMixin = {} 11 VeneerAnimationMixin = {}
11 VeneerHandlerMixin = { anchorPoint = 'CENTER' } 12 VeneerHandlerMixin = {
13 anchorPoint = 'CENTER',
14 data = {},
15 }
12 16
13 function VeneerConfigLayerMixin:OnLoad() 17 function VeneerConfigLayerMixin:OnLoad()
14 local handler = self:GetParent() 18 local handler = self:GetParent()
15 print(handler:GetName(), 'configLayers') 19 print(handler:GetName(), 'configLayers')
16 handler.ConfigLayers = handler.ConfigLayers or {} 20 handler.ConfigLayers = handler.ConfigLayers or {}
51 Veneer:DynamicReanchor() 55 Veneer:DynamicReanchor()
52 end 56 end
53 function VeneerHandlerMixin:Reanchor (anchorAll) 57 function VeneerHandlerMixin:Reanchor (anchorAll)
54 Veneer:DynamicReanchor() 58 Veneer:DynamicReanchor()
55 end 59 end
60 function VeneerHandlerMixin:Setup()
61 local configName = self:GetName():gsub('^Veneer', '')
62 VeneerData[configName] = VeneerData[configName] or {}
63
64 -- reconcile any data accumulated before login trigger
65 for k,v in pairs(self.data) do
66 if not VeneerData[configName][k] then
67 print('reconciling pre-data:', k, v)
68 VeneerData[configName][k] = v
69 end
70 end
71
72 self.data = VeneerData[configName]
73 print('data table loaded:', configName)
74 self.initialized = true
75 end
56 76
57 function VeneerHandlerMixin:Print(...) 77 function VeneerHandlerMixin:Print(...)
58 local txt = '|cFFFFFF00'..self:GetName()..'|r:' 78 local txt = '|cFFFFFF00'..self:GetName()..'|r:'
59 for i = 1, select('#', ...) do 79 for i = 1, select('#', ...) do
60 txt = txt .. ' '.. tostring(select(i, ...)) 80 txt = txt .. ' '.. tostring(select(i, ...))
61 end 81 end
62 82
83
84
63 DEFAULT_CHAT_FRAME:AddMessage(txt) 85 DEFAULT_CHAT_FRAME:AddMessage(txt)
64 end 86 end