comparison TimeManager/TimeManager.lua @ 54:ed74c5cabe98

Core - updated comment notes Objectives - force hide blocks when their tracker is hidden Clock - convert clock into its own module - display zone coordinates alongside time
author Nenue
date Wed, 01 Jun 2016 20:48:14 -0400
parents 1a322b92dbfa
children dd9b5f59632c
comparison
equal deleted inserted replaced
53:5cedcb683eda 54:ed74c5cabe98
1 -------------------------------------------- 1 --------------------------------------------
2 -- Veneer 2 -- Veneer
3 -- Clock/Coordinate multi-tool
4 -- mouseover reveals coordinates by map yards, right-click toggles display
3 -- Krakyn 5 -- Krakyn
4 -- @project-revision@ @project-hash@ 6 -- @project-revision@ @project-hash@
5 -- @file-revision@ @file-hash@ 7 -- @file-revision@ @file-hash@
6 -- Created: 4/27/2016 1:02 AM 8 -- Created: 4/27/2016 1:02 AM
7 -------------------------------------------- 9 --------------------------------------------
8 10
9 local B, _G = select(2,...).frame, _G 11 local B = select(2,...).frame
10 local clock = B:RegisterModule("Clock", VeneerClock) 12 local _G = _G
13 local clock = B:RegisterModule("Clock", _G.VeneerClock)
14 local print = B.print('XML') -- debug hook
15 -- weekday abbreviations used in display
11 local weekDays = {'Su', 'M', 'T', 'W', 'R' ,'F', 'Sa' } 16 local weekDays = {'Su', 'M', 'T', 'W', 'R' ,'F', 'Sa' }
12 17
13 local print = B.print('XML') 18 -- runs when visible
14
15 clock.OnUpdate = function(self) 19 clock.OnUpdate = function(self)
16 local weekday, month, day, year = CalendarGetDate() 20 local weekday, month, day, year = _G.CalendarGetDate()
17 local hour, min = GetGameTime() 21 local hour, min = _G.GetGameTime()
18 if hour > 12 then 22 if hour > 12 then
19 hour = hour - 12 23 hour = hour - 12
20 end 24 end
21 self.time:SetFormattedText("|cAAFFFFFF%s|r |cFF44FFFF%s|r|c88FFFFFF/|r|cFF44FFFF%s|r %d:%02d", weekDays[weekday], month, day, hour, min) 25 local posFunc, posF = _G.GetPlayerMapPosition, 100
26 local posFormat = "|cFF00FFFF%0.1f %0.1f|r"
27 if self:IsMouseOver() then
28 posFunc = _G.UnitPosition
29 posFormat = "|cFFFFFF00%d %d|r"
30 posF = 1
31 end
32 local posX, posY = posFunc('player')
33 self.time:SetFormattedText(posFormat.. " |cAAFFFFFF%s|r |cFF44FFFF%s|r|c88FFFFFF/|r|cFF44FFFF%s|r %d:%02d", posX * posF, posY * posF, weekDays[weekday], month, day, hour, min)
22 end 34 end
23 35
36 -- hide/show toggler
24 clock.OnMouseUp = function(self, button) 37 clock.OnMouseUp = function(self, button)
25 if button == 'RightButton' then 38 if button == 'RightButton' then
26 if self:IsVisible() then 39 if self:IsVisible() then
27 self:Hide() 40 self:Hide()
28 else 41 else
29 self:Show() 42 self:Show()
30 end 43 end
31 end 44 end
32 end 45 end
33 46
47 -- runs once per login
34 function clock:OnInitialize() 48 function clock:OnInitialize()
35 print('clock thing') 49 print('clock thing')
36 self:Show() 50 self:Show()
37 end 51 end
52
53 -- runs once per ui load
54 clock.OnEnable = function(self)
55 self:SetParent(_G.UIParent)
56 self:SetPoint('TOPRIGHT', _G.UIParent, 'TOPRIGHT', -100, -2)
57 self:SetScript('OnUpdate', clock.OnUpdate)
58 self:Show()
59 self.time:SetText('Clock stuff')
60 end