Nenue@90
|
1 -- Veneer
|
Nenue@90
|
2 -- Templates.lua
|
Nenue@90
|
3 -- Created: 10/24/2016 9:16 AM
|
Nenue@90
|
4 -- %file-revision%
|
Nenue@90
|
5 --
|
Nenue@90
|
6 -- Mover Widget base
|
Nenue@90
|
7 local print = DEVIAN_WORKSPACE and function(...) _G.print('VnTemplate', ...) end or nop
|
Nenue@102
|
8 local debugTemplates = {}
|
Nenue@90
|
9
|
Nenue@90
|
10 VeneerConfigLayerMixin = {}
|
Nenue@90
|
11 VeneerAnimationMixin = {}
|
Nenue@102
|
12 VeneerHandlerMixin = {
|
Nenue@102
|
13 anchorPoint = 'CENTER',
|
Nenue@102
|
14 data = {},
|
Nenue@102
|
15 }
|
Nenue@90
|
16
|
Nenue@90
|
17 function VeneerConfigLayerMixin:OnLoad()
|
Nenue@90
|
18 local handler = self:GetParent()
|
Nenue@90
|
19 print(handler:GetName(), 'configLayers')
|
Nenue@90
|
20 handler.ConfigLayers = handler.ConfigLayers or {}
|
Nenue@90
|
21 for i, region in ipairs(handler.ConfigLayers) do
|
Nenue@90
|
22 region:SetShown(Veneer.ConfigMode)
|
Nenue@90
|
23 end
|
Nenue@90
|
24 end
|
Nenue@90
|
25
|
Nenue@90
|
26 function VeneerConfigLayerMixin:OnUpdate()
|
Nenue@90
|
27 local handler = self:GetParent()
|
Nenue@90
|
28 handler.ConfigLayers = handler.ConfigLayers or {}
|
Nenue@90
|
29
|
Nenue@90
|
30 self.ConfigName:SetText(handler:GetName())
|
Nenue@90
|
31 self.ConfigID:SetText(handler:GetID())
|
Nenue@90
|
32 end
|
Nenue@90
|
33
|
Nenue@90
|
34 function VeneerAnimationMixin:OnPlay()
|
Nenue@90
|
35 PlaySoundKitID(229)
|
Nenue@90
|
36 self.animating = true
|
Nenue@90
|
37 print('|cFF00FF00Anim:OnPlay|r @', unpack(self.sourcePoint))
|
Nenue@90
|
38 end
|
Nenue@90
|
39 function VeneerAnimationMixin:OnStop()
|
Nenue@90
|
40 PlaySoundKitID(229)
|
Nenue@90
|
41 self.animating = nil
|
Nenue@90
|
42 print('|cFF00FF00Anim:OnFinish|r @', unpack(self.destPoint))
|
Nenue@90
|
43 end
|
Nenue@90
|
44 function VeneerAnimationMixin:OnFinished()
|
Nenue@90
|
45 PlaySoundKitID(229)
|
Nenue@90
|
46 self.animating = nil
|
Nenue@90
|
47 print('|cFF00FF00Anim:OnFinish|r @', unpack(self.destPoint))
|
Nenue@93
|
48 end
|
Nenue@93
|
49
|
Nenue@93
|
50 function VeneerHandlerMixin:OnShow()
|
Nenue@93
|
51 self:Reanchor()
|
Nenue@93
|
52 Veneer:StaticReanchor(self)
|
Nenue@93
|
53 end
|
Nenue@93
|
54 function VeneerHandlerMixin:OnHide()
|
Nenue@93
|
55 Veneer:DynamicReanchor()
|
Nenue@93
|
56 end
|
Nenue@93
|
57 function VeneerHandlerMixin:Reanchor (anchorAll)
|
Nenue@99
|
58 Veneer:DynamicReanchor()
|
Nenue@98
|
59 end
|
Nenue@102
|
60 function VeneerHandlerMixin:Setup()
|
Nenue@102
|
61 local configName = self:GetName():gsub('^Veneer', '')
|
Nenue@102
|
62 VeneerData[configName] = VeneerData[configName] or {}
|
Nenue@102
|
63
|
Nenue@102
|
64 -- reconcile any data accumulated before login trigger
|
Nenue@102
|
65 for k,v in pairs(self.data) do
|
Nenue@102
|
66 if not VeneerData[configName][k] then
|
Nenue@102
|
67 print('reconciling pre-data:', k, v)
|
Nenue@102
|
68 VeneerData[configName][k] = v
|
Nenue@102
|
69 end
|
Nenue@102
|
70 end
|
Nenue@102
|
71
|
Nenue@102
|
72 self.data = VeneerData[configName]
|
Nenue@102
|
73 print('data table loaded:', configName)
|
Nenue@102
|
74 self.initialized = true
|
Nenue@102
|
75 end
|
Nenue@98
|
76
|
Nenue@98
|
77 function VeneerHandlerMixin:Print(...)
|
Nenue@98
|
78 local txt = '|cFFFFFF00'..self:GetName()..'|r:'
|
Nenue@98
|
79 for i = 1, select('#', ...) do
|
Nenue@98
|
80 txt = txt .. ' '.. tostring(select(i, ...))
|
Nenue@98
|
81 end
|
Nenue@98
|
82
|
Nenue@102
|
83
|
Nenue@102
|
84
|
Nenue@98
|
85 DEFAULT_CHAT_FRAME:AddMessage(txt)
|
Nenue@90
|
86 end |