annotate Templates.lua @ 105:3992b41c637e

- Fixed a number of relic data retrieval issues
author Nenue
date Sun, 29 Jan 2017 09:54:14 -0500
parents 8df154a2bfd6
children ff00679a7817
rev   line source
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@103 86 end
Nenue@103 87
Nenue@103 88 function VeneerHandlerMixin:UpdateConfigLayers (configMode)
Nenue@103 89 -- Override to manage config visual elements when a config update is fired from /vn or login
Nenue@103 90 if not self:IsShown() then
Nenue@103 91 self:SetShown(configMode)
Nenue@103 92 self:Reanchor()
Nenue@103 93 end
Nenue@103 94 self.configMode = configMode
Nenue@90 95 end