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',
|
Nick@108
|
14 anchorPriority = 4,
|
Nenue@102
|
15 data = {},
|
Nenue@102
|
16 }
|
Nenue@90
|
17
|
Nenue@90
|
18 function VeneerConfigLayerMixin:OnLoad()
|
Nenue@90
|
19 local handler = self:GetParent()
|
Nenue@90
|
20 print(handler:GetName(), 'configLayers')
|
Nenue@90
|
21 handler.ConfigLayers = handler.ConfigLayers or {}
|
Nenue@90
|
22 for i, region in ipairs(handler.ConfigLayers) do
|
Nenue@90
|
23 region:SetShown(Veneer.ConfigMode)
|
Nenue@90
|
24 end
|
Nenue@90
|
25 end
|
Nenue@90
|
26
|
Nenue@90
|
27 function VeneerConfigLayerMixin:OnUpdate()
|
Nenue@90
|
28 local handler = self:GetParent()
|
Nenue@90
|
29 handler.ConfigLayers = handler.ConfigLayers or {}
|
Nenue@90
|
30
|
Nenue@90
|
31 self.ConfigName:SetText(handler:GetName())
|
Nenue@90
|
32 self.ConfigID:SetText(handler:GetID())
|
Nenue@90
|
33 end
|
Nenue@90
|
34
|
Nenue@90
|
35 function VeneerAnimationMixin:OnPlay()
|
Nenue@90
|
36 PlaySoundKitID(229)
|
Nenue@90
|
37 self.animating = true
|
Nenue@90
|
38 print('|cFF00FF00Anim:OnPlay|r @', unpack(self.sourcePoint))
|
Nenue@90
|
39 end
|
Nenue@90
|
40 function VeneerAnimationMixin:OnStop()
|
Nenue@90
|
41 PlaySoundKitID(229)
|
Nenue@90
|
42 self.animating = nil
|
Nenue@90
|
43 print('|cFF00FF00Anim:OnFinish|r @', unpack(self.destPoint))
|
Nenue@90
|
44 end
|
Nenue@90
|
45 function VeneerAnimationMixin:OnFinished()
|
Nenue@90
|
46 PlaySoundKitID(229)
|
Nenue@90
|
47 self.animating = nil
|
Nenue@90
|
48 print('|cFF00FF00Anim:OnFinish|r @', unpack(self.destPoint))
|
Nenue@93
|
49 end
|
Nenue@93
|
50
|
Nenue@93
|
51 function VeneerHandlerMixin:OnShow()
|
Nenue@93
|
52 self:Reanchor()
|
Nenue@93
|
53 Veneer:StaticReanchor(self)
|
Nenue@93
|
54 end
|
Nenue@93
|
55 function VeneerHandlerMixin:OnHide()
|
Nenue@93
|
56 Veneer:DynamicReanchor()
|
Nenue@93
|
57 end
|
Nenue@93
|
58 function VeneerHandlerMixin:Reanchor (anchorAll)
|
Nenue@99
|
59 Veneer:DynamicReanchor()
|
Nenue@98
|
60 end
|
Nenue@102
|
61 function VeneerHandlerMixin:Setup()
|
Nenue@102
|
62 local configName = self:GetName():gsub('^Veneer', '')
|
Nenue@107
|
63 VeneerData[configName] = VeneerData[configName] or self.defaultSettings or {}
|
Nenue@102
|
64
|
Nenue@102
|
65 -- reconcile any data accumulated before login trigger
|
Nenue@102
|
66 for k,v in pairs(self.data) do
|
Nenue@102
|
67 if not VeneerData[configName][k] then
|
Nenue@102
|
68 print('reconciling pre-data:', k, v)
|
Nenue@102
|
69 VeneerData[configName][k] = v
|
Nenue@102
|
70 end
|
Nenue@102
|
71 end
|
Nenue@107
|
72 local guid = UnitGUID('player')
|
Nenue@102
|
73 self.data = VeneerData[configName]
|
Nenue@107
|
74 self.data[guid] = self.data[guid] or {}
|
Nenue@107
|
75 self.profile = self.data[guid]
|
Nenue@102
|
76 print('data table loaded:', configName)
|
Nenue@102
|
77 self.initialized = true
|
Nenue@102
|
78 end
|
Nenue@98
|
79
|
Nenue@98
|
80 function VeneerHandlerMixin:Print(...)
|
Nenue@98
|
81 local txt = '|cFFFFFF00'..self:GetName()..'|r:'
|
Nenue@98
|
82 for i = 1, select('#', ...) do
|
Nenue@98
|
83 txt = txt .. ' '.. tostring(select(i, ...))
|
Nenue@98
|
84 end
|
Nenue@98
|
85
|
Nenue@102
|
86
|
Nenue@102
|
87
|
Nenue@98
|
88 DEFAULT_CHAT_FRAME:AddMessage(txt)
|
Nenue@103
|
89 end
|
Nenue@103
|
90
|
Nenue@103
|
91 function VeneerHandlerMixin:UpdateConfigLayers (configMode)
|
Nenue@103
|
92 -- Override to manage config visual elements when a config update is fired from /vn or login
|
Nenue@103
|
93 if not self:IsShown() then
|
Nenue@103
|
94 self:SetShown(configMode)
|
Nenue@103
|
95 self:Reanchor()
|
Nenue@103
|
96 end
|
Nenue@103
|
97 self.configMode = configMode
|
Nenue@90
|
98 end |