Nick@108
|
1
|
Nick@108
|
2 local print = DEVIAN_WORKSPACE and function(...) print('VnRoster', ...) end or nop
|
Nick@108
|
3
|
Nenue@102
|
4 VeneerRosterKunMixin = {
|
Nenue@102
|
5 addonTrigger = 'Blizzard_GuildUI',
|
Nenue@102
|
6
|
Nenue@102
|
7 anchorFrame = 'GuildFrame',
|
Nenue@102
|
8 anchorPoint = 'TOPLEFT',
|
Nenue@102
|
9 }
|
Nenue@102
|
10
|
Nenue@102
|
11
|
Nenue@102
|
12 local module = VeneerRosterKunMixin
|
Nenue@102
|
13
|
Nenue@102
|
14 function module:OnLoad()
|
Nenue@102
|
15 Veneer:AddHandler(self, self.anchorPoint)
|
Nenue@102
|
16 self:RegisterEvent('GUILD_ROSTER_UPDATE')
|
Nenue@102
|
17 self:RegisterEvent('GUILD_TRADESKILL_UPDATE')
|
Nick@108
|
18
|
Nick@108
|
19 self:RegisterEvent('LFG_LIST_SEARCH_RESULT_UPDATED')
|
Nick@108
|
20 self:RegisterEvent('LFG_LIST_SEARCH_RESULTS_RECEIVED')
|
Nick@108
|
21 self:RegisterEvent('LFG_LIST_AVAILABILITY_UPDATE')
|
Nick@108
|
22 self:RegisterEvent('LFG_LIST_LOCK_INFO_RECEIVED')
|
Nenue@102
|
23 end
|
Nenue@102
|
24
|
Nick@108
|
25 function module:Setup()
|
Nick@108
|
26 VeneerHandlerMixin.Setup(self)
|
Nick@108
|
27 self:SetParent(GuildFrame)
|
Nick@108
|
28 self:SetShown(true)
|
Nick@108
|
29 end
|
Nenue@102
|
30
|
Nick@108
|
31 function module:SetDirty()
|
Nick@108
|
32 if self:IsVisible() then
|
Nick@108
|
33 self:Update()
|
Nick@108
|
34 else
|
Nick@108
|
35 self.GuildInfoDirty = true
|
Nick@108
|
36 end
|
Nick@108
|
37 end
|
Nenue@102
|
38
|
Nick@108
|
39 function module:OnShow()
|
Nick@108
|
40 print('|cFF00FFFFOnShow()|r')
|
Nick@108
|
41 if self.GuildInfoDirty then
|
Nick@108
|
42 self:UpdateGuildInfo()
|
Nick@108
|
43 end
|
Nick@108
|
44 end
|
Nick@108
|
45
|
Nick@108
|
46 function module:UpdateGuildInfo()
|
Nick@108
|
47 local numMembers = GetNumGuildMembers()
|
Nick@108
|
48 print(numMembers)
|
Nick@108
|
49 for i = 1, numMembers do
|
Nick@108
|
50 print(GetGuildRosterInfo(i))
|
Nick@108
|
51 end
|
Nick@108
|
52 end
|
Nick@108
|
53
|
Nick@108
|
54 function module:Update() end
|
Nick@108
|
55
|
Nick@108
|
56 function module:OnEvent(event, ...)
|
Nick@108
|
57 print('|cFFFF0088OnEvent()|r', event, ...)
|
Nick@108
|
58 if event == 'LFG_LIST_SEARCH_RESULTS_RECEIVED' then
|
Nick@108
|
59 elseif event == 'LFG_LIST_SEARCH_RESULT_UPDATED' then
|
Nick@108
|
60 elseif event == 'GUILD_ROSTER_UPDATE' then
|
Nick@108
|
61 self:SetDirty()
|
Nick@108
|
62 end
|
Nenue@102
|
63 end |