Nenue@0
|
1 --- ${PACKAGE_NAME}
|
Nenue@0
|
2 -- @file-author@
|
Nenue@0
|
3 -- @project-revision@ @project-hash@
|
Nenue@0
|
4 -- @file-revision@ @file-hash@
|
Nenue@0
|
5 -- Created: 3/29/2016 7:07 PM
|
Nenue@0
|
6 local B = select(2,...).frame
|
Nenue@0
|
7 local mod = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame')
|
Nenue@0
|
8 local print = B.print('Objectives')
|
Nenue@21
|
9 local Default, AutoQuest, Quest, Cheevs = mod.DefaultHandler, mod.AutoQuest, mod.Quest, mod.Cheevs
|
Nenue@6
|
10 local itemButtonSize, itemButtonSpacing = 36, 1
|
Nenue@7
|
11 local tremove, tremovebyval = table.remove, table.removebyval
|
Nenue@0
|
12
|
Nenue@0
|
13 --------------------------------------------------------------------
|
Nenue@13
|
14 --- Functions responsible for:
|
Nenue@13
|
15 --- - UI interactions that propagate to the BlizzardUI (sending RemoveQuestWatch() on remove quest action)
|
Nenue@13
|
16 --- -
|
Nenue@0
|
17 --------------------------------------------------------------------
|
Nenue@0
|
18
|
Nenue@21
|
19 Default.Select = function(self) end
|
Nenue@21
|
20 Default.Open = function(self) end
|
Nenue@21
|
21 Default.Remove = function(self) end
|
Nenue@21
|
22 Default.Report = function(self)
|
Nenue@0
|
23 print('Stats:', self.numWatched,'items tracked,', self.numBlocks,'blocks assigned.')
|
Nenue@0
|
24 end
|
Nenue@0
|
25
|
Nenue@21
|
26 Default.OnMouseUp = function(self, button)
|
Nenue@14
|
27 print(self.handler.name, self.mainStyle, self.subStyle)
|
Nenue@9
|
28 if button == 'LeftButton' then
|
Nenue@9
|
29 if IsModifiedClick("CHATLINK") and ChatEdit_GetActiveWindow() then
|
Nenue@7
|
30 self:Link()
|
Nenue@9
|
31 elseif IsModifiedClick("QUESTWATCHTOGGLE") then
|
Nenue@1
|
32 self:Remove()
|
Nenue@7
|
33 else
|
Nenue@7
|
34 self:Select()
|
Nenue@1
|
35 end
|
Nenue@0
|
36 elseif button == 'RightButton' then
|
Nenue@0
|
37 self:Open()
|
Nenue@0
|
38 end
|
Nenue@1
|
39 self.initialButton = nil
|
Nenue@7
|
40 self.modChatLink = nil
|
Nenue@7
|
41 self.modQuestWatch = nil
|
Nenue@21
|
42 mod:Update(self.handler.updateReasonModule)
|
Nenue@8
|
43 print('|cFFFF8800'..tostring(self:GetName())..':MouseUp()|r')
|
Nenue@0
|
44 end
|
Nenue@0
|
45
|
Nenue@21
|
46 Default.OnMouseDown = function(self, button)
|
Nenue@8
|
47 print(IsModifiedClick("CHATLINK"), IsModifiedClick("QUESTWATCHTOGGLE"))
|
Nenue@0
|
48 print(self.info.title)
|
Nenue@0
|
49 end
|
Nenue@0
|
50
|
Nenue@19
|
51
|
Nenue@16
|
52 AutoQuest.Select = function(self)
|
Nenue@16
|
53 if self.info.popupType == 'OFFER' then
|
Nenue@16
|
54 ShowQuestOffer(self.info.questIndex)
|
Nenue@16
|
55 else
|
Nenue@16
|
56 ShowQuestComplete(self.info.questIndex)
|
Nenue@16
|
57 end
|
Nenue@16
|
58 RemoveAutoQuestPopUp(self.info.questID)
|
Nenue@16
|
59 end
|
Nenue@16
|
60
|
Nenue@19
|
61 Quest.Select = function(self)
|
Nenue@19
|
62 if self.info.isAutoComplete and self.info.isComplete then
|
Nenue@19
|
63 ShowQuestComplete(self.info.questLogIndex)
|
Nenue@16
|
64 else
|
Nenue@16
|
65 SetSuperTrackedQuestID(self.info.questID)
|
Nenue@16
|
66 end
|
Nenue@7
|
67 end
|
Nenue@16
|
68
|
Nenue@7
|
69 Quest.Link = function(self)
|
Nenue@7
|
70 local questLink = GetQuestLink(block.questLogIndex);
|
Nenue@7
|
71 if ( questLink ) then
|
Nenue@7
|
72 ChatEdit_InsertLink(questLink);
|
Nenue@7
|
73 end
|
Nenue@0
|
74 end
|
Nenue@0
|
75 Quest.Open = function(self)
|
Nenue@1
|
76 QuestMapFrame_OpenToQuestDetails(self.info.questID)
|
Nenue@1
|
77 end
|
Nenue@1
|
78
|
Nenue@1
|
79 Quest.Remove = function(self)
|
Nenue@5
|
80 print('removing', self.info.questLogIndex, 'from watcher')
|
Nenue@5
|
81 RemoveQuestWatch(self.info.questLogIndex)
|
Nenue@0
|
82 end
|
Nenue@0
|
83
|
Nenue@0
|
84
|
Nenue@0
|
85 -----------------------------
|
Nenue@0
|
86 --- CHEEVS
|
Nenue@0
|
87 Cheevs.Select = function(self)
|
Nenue@21
|
88 --mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT)
|
Nenue@0
|
89 end
|
Nenue@8
|
90 Cheevs.Remove = function(self)
|
Nenue@8
|
91 RemoveTrackedAchievement(self.info.cheevID)
|
Nenue@8
|
92 end
|
Nenue@9
|
93 Cheevs.OnMouseUp = function(self, button)
|
Nenue@21
|
94 Default.OnMouseUp(self, button)
|
Nenue@8
|
95 end
|
Nenue@7
|
96 Cheevs.Link = function(self)
|
Nenue@8
|
97 local achievementLink = GetAchievementLink(self.info.cheevID);
|
Nenue@8
|
98 if ( achievementLink ) then
|
Nenue@8
|
99 ChatEdit_InsertLink(achievementLink);
|
Nenue@8
|
100 end
|
Nenue@7
|
101 end
|
Nenue@0
|
102
|
Nenue@0
|
103 Cheevs.Open = function(self)
|
Nenue@3
|
104 if ( not AchievementFrame ) then
|
Nenue@3
|
105 AchievementFrame_LoadUI();
|
Nenue@3
|
106 end
|
Nenue@3
|
107 if ( not AchievementFrame:IsShown() ) then
|
Nenue@3
|
108 AchievementFrame_ToggleAchievementFrame();
|
Nenue@3
|
109 end
|
Nenue@3
|
110 AchievementFrame_SelectAchievement(self.info.cheevID);
|
Nenue@0
|
111 end
|
Nenue@0
|
112
|
Nenue@21
|
113 local Bonus = mod.Bonus
|
Nenue@22
|
114 Bonus.Select = function(self, questID)
|
Nenue@22
|
115 Bonus:OnTurnIn(self.info.questID, 0, 30800)
|
Nenue@22
|
116 end
|
Nenue@21
|
117 Bonus.Remove = function(self, questID)
|
Nenue@21
|
118 end |