Nenue@80
|
1 -- Veneer
|
Nenue@80
|
2 -- OrderHall.lua
|
Nenue@80
|
3 -- Created: 10/7/2016 10:55 PM
|
Nenue@80
|
4 -- %file-revision%
|
Nenue@80
|
5 --
|
Nenue@80
|
6
|
Nenue@80
|
7 VeneerWorldStateCurrencyMixin = {}
|
Nenue@80
|
8 VeneerWorldStateMixin = {}
|
Nenue@80
|
9 local print = DEVIAN_WORKSPACE and function(...) print('VnWorldState', ...) end or nop
|
Nenue@80
|
10
|
Nenue@80
|
11 function VeneerWorldStateMixin:Setup()
|
Nenue@80
|
12 hooksecurefunc(OrderHallCommandBar,'Show', function()
|
Nenue@80
|
13 self:Refresh()
|
Nenue@80
|
14 end)
|
Nenue@80
|
15 self:Refresh()
|
Nenue@80
|
16 --DEFAULT_CHAT_FRAME:AddMessage('Loaded')
|
Nenue@80
|
17 end
|
Nenue@80
|
18
|
Nenue@80
|
19 function VeneerWorldStateMixin:Refresh()
|
Nenue@80
|
20 OrderHallCommandBar:ClearAllPoints()
|
Nenue@80
|
21 OrderHallCommandBar:SetPoint('TOP')
|
Nenue@80
|
22 OrderHallCommandBar:SetWidth(600)
|
Nenue@80
|
23 OrderHallCommandBar.Background:SetColorTexture(0,0,0,0.5)
|
Nenue@80
|
24 OrderHallCommandBar.WorldMapButton:Hide()
|
Nenue@80
|
25 OrderHallCommandBar:EnableMouse(false)
|
Nenue@80
|
26 end
|
Nenue@80
|
27 local initialized
|
Nenue@80
|
28 function VeneerWorldStateMixin:OnEvent(event, arg)
|
Nenue@80
|
29 print(event, arg)
|
Nenue@80
|
30 if OrderHallCommandBar and not initialized then
|
Nenue@80
|
31 initialized = true
|
Nenue@80
|
32 self:Setup()
|
Nenue@80
|
33 self:UnregisterEvent('ADDON_LOADED')
|
Nenue@80
|
34 end
|
Nenue@80
|
35
|
Nenue@80
|
36 if event == 'PLAYER_ENTERING_WORLD' then
|
Nenue@80
|
37 self:Update()
|
Nenue@80
|
38 end
|
Nenue@80
|
39 end
|
Nenue@80
|
40
|
Nenue@80
|
41 function VeneerWorldStateMixin:Update()
|
Nenue@80
|
42 local frames = {self:GetChildren()}
|
Nenue@80
|
43 print('|cFFFFFF00All:Update()|r')
|
Nenue@80
|
44 for i, frame in ipairs(frames) do
|
Nenue@80
|
45 if frame.Update then
|
Nenue@80
|
46 print(frame:GetName())
|
Nenue@80
|
47 frame:Update()
|
Nenue@80
|
48 end
|
Nenue@80
|
49 end
|
Nenue@80
|
50 end
|
Nenue@80
|
51
|
Nenue@80
|
52
|
Nenue@80
|
53
|
Nenue@80
|
54 function VeneerWorldStateMixin:OnLoad ()
|
Nenue@80
|
55 self:RegisterEvent('ADDON_LOADED')
|
Nenue@80
|
56 self:RegisterEvent('ARTIFACT_UPDATE')
|
Nenue@80
|
57 self:RegisterEvent('ARTIFACT_XP_UPDATE')
|
Nenue@80
|
58 self:RegisterEvent('PLAYER_ENTERING_WORLD')
|
Nenue@80
|
59
|
Nenue@80
|
60 end
|
Nenue@80
|
61
|
Nenue@80
|
62 function VeneerWorldStateCurrencyMixin:OnLoad ()
|
Nenue@80
|
63
|
Nenue@80
|
64 self:RegisterEvent('ZONE_CHANGED')
|
Nenue@80
|
65 self:RegisterEvent('CURRENCY_DISPLAY_UPDATE')
|
Nenue@80
|
66 self:RegisterEvent('CHAT_MSG_CURRENCY')
|
Nenue@80
|
67
|
Nenue@80
|
68 end
|
Nenue@80
|
69
|
Nenue@80
|
70 function VeneerWorldStateCurrencyMixin:OnEvent (event, arg)
|
Nenue@80
|
71 self:Update()
|
Nenue@80
|
72 end
|
Nenue@80
|
73
|
Nenue@80
|
74
|
Nenue@80
|
75 function VeneerWorldStateCurrencyMixin:Update()
|
Nenue@80
|
76 local mapID = GetCurrentMapAreaID()
|
Nenue@80
|
77 print('currency refresh: zone =', mapID)
|
Nenue@80
|
78 if mapID == 1033 then
|
Nenue@80
|
79 local name, earned, texture, earnedThisWeek, weeklyMax, totalMax = GetCurrencyInfo(1155)
|
Nenue@80
|
80
|
Nenue@80
|
81 self.Icon:SetTexture(texture)
|
Nenue@80
|
82 self.Label:SetFormattedText("%d / %d", earned, totalMax)
|
Nenue@80
|
83 self:Show()
|
Nenue@80
|
84 self:SetWidth(self.Icon:GetWidth() + self.Label:GetStringWidth() + 6)
|
Nenue@80
|
85 else
|
Nenue@80
|
86 self:Hide()
|
Nenue@80
|
87 end
|
Nenue@80
|
88 end |