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@25
|
27
|
Nenue@14
|
28 print(self.handler.name, self.mainStyle, self.subStyle)
|
Nenue@9
|
29 if button == 'LeftButton' then
|
Nenue@9
|
30 if IsModifiedClick("CHATLINK") and ChatEdit_GetActiveWindow() then
|
Nenue@7
|
31 self:Link()
|
Nenue@9
|
32 elseif IsModifiedClick("QUESTWATCHTOGGLE") then
|
Nenue@1
|
33 self:Remove()
|
Nenue@7
|
34 else
|
Nenue@7
|
35 self:Select()
|
Nenue@1
|
36 end
|
Nenue@0
|
37 elseif button == 'RightButton' then
|
Nenue@0
|
38 self:Open()
|
Nenue@0
|
39 end
|
Nenue@1
|
40 self.initialButton = nil
|
Nenue@7
|
41 self.modChatLink = nil
|
Nenue@7
|
42 self.modQuestWatch = nil
|
Nenue@21
|
43 mod:Update(self.handler.updateReasonModule)
|
Nenue@8
|
44 print('|cFFFF8800'..tostring(self:GetName())..':MouseUp()|r')
|
Nenue@0
|
45 end
|
Nenue@0
|
46
|
Nenue@21
|
47 Default.OnMouseDown = function(self, button)
|
Nenue@25
|
48
|
Nenue@8
|
49 print(IsModifiedClick("CHATLINK"), IsModifiedClick("QUESTWATCHTOGGLE"))
|
Nenue@0
|
50 print(self.info.title)
|
Nenue@0
|
51 end
|
Nenue@0
|
52
|
Nenue@25
|
53 AutoQuest.Select = function(self)
|
Nenue@19
|
54
|
Nenue@16
|
55 if self.info.popupType == 'OFFER' then
|
Nenue@16
|
56 ShowQuestOffer(self.info.questIndex)
|
Nenue@16
|
57 else
|
Nenue@16
|
58 ShowQuestComplete(self.info.questIndex)
|
Nenue@16
|
59 end
|
Nenue@16
|
60 RemoveAutoQuestPopUp(self.info.questID)
|
Nenue@16
|
61 end
|
Nenue@16
|
62
|
Nenue@19
|
63 Quest.Select = function(self)
|
Nenue@25
|
64
|
Nenue@19
|
65 if self.info.isAutoComplete and self.info.isComplete then
|
Nenue@19
|
66 ShowQuestComplete(self.info.questLogIndex)
|
Nenue@16
|
67 else
|
Nenue@16
|
68 SetSuperTrackedQuestID(self.info.questID)
|
Nenue@16
|
69 end
|
Nenue@7
|
70 end
|
Nenue@16
|
71
|
Nenue@7
|
72 Quest.Link = function(self)
|
Nenue@25
|
73
|
Nenue@25
|
74 local questLink = GetQuestLink(self.info.questLogIndex);
|
Nenue@7
|
75 if ( questLink ) then
|
Nenue@7
|
76 ChatEdit_InsertLink(questLink);
|
Nenue@7
|
77 end
|
Nenue@0
|
78 end
|
Nenue@25
|
79
|
Nenue@25
|
80 AutoQuest.Link = Quest.Link
|
Nenue@25
|
81
|
Nenue@0
|
82 Quest.Open = function(self)
|
Nenue@25
|
83
|
Nenue@1
|
84 QuestMapFrame_OpenToQuestDetails(self.info.questID)
|
Nenue@1
|
85 end
|
Nenue@1
|
86
|
Nenue@1
|
87 Quest.Remove = function(self)
|
Nenue@25
|
88
|
Nenue@5
|
89 print('removing', self.info.questLogIndex, 'from watcher')
|
Nenue@5
|
90 RemoveQuestWatch(self.info.questLogIndex)
|
Nenue@0
|
91 end
|
Nenue@0
|
92
|
Nenue@0
|
93
|
Nenue@0
|
94 -----------------------------
|
Nenue@0
|
95 --- CHEEVS
|
Nenue@0
|
96 Cheevs.Select = function(self)
|
Nenue@21
|
97 --mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT)
|
Nenue@0
|
98 end
|
Nenue@8
|
99 Cheevs.Remove = function(self)
|
Nenue@25
|
100
|
Nenue@8
|
101 RemoveTrackedAchievement(self.info.cheevID)
|
Nenue@8
|
102 end
|
Nenue@9
|
103 Cheevs.OnMouseUp = function(self, button)
|
Nenue@25
|
104
|
Nenue@21
|
105 Default.OnMouseUp(self, button)
|
Nenue@8
|
106 end
|
Nenue@7
|
107 Cheevs.Link = function(self)
|
Nenue@25
|
108
|
Nenue@8
|
109 local achievementLink = GetAchievementLink(self.info.cheevID);
|
Nenue@8
|
110 if ( achievementLink ) then
|
Nenue@8
|
111 ChatEdit_InsertLink(achievementLink);
|
Nenue@8
|
112 end
|
Nenue@7
|
113 end
|
Nenue@0
|
114
|
Nenue@0
|
115 Cheevs.Open = function(self)
|
Nenue@25
|
116
|
Nenue@3
|
117 if ( not AchievementFrame ) then
|
Nenue@3
|
118 AchievementFrame_LoadUI();
|
Nenue@3
|
119 end
|
Nenue@3
|
120 if ( not AchievementFrame:IsShown() ) then
|
Nenue@3
|
121 AchievementFrame_ToggleAchievementFrame();
|
Nenue@3
|
122 end
|
Nenue@3
|
123 AchievementFrame_SelectAchievement(self.info.cheevID);
|
Nenue@0
|
124 end
|
Nenue@0
|
125
|
Nenue@21
|
126 local Bonus = mod.Bonus
|
Nenue@25
|
127 Bonus.Select = function(self)
|
Nenue@25
|
128
|
Nenue@25
|
129 Bonus:OnTurnIn(self.info.questID)
|
Nenue@22
|
130 end
|
Nenue@25
|
131 Bonus.Remove = function(self)
|
Nenue@25
|
132
|
Nenue@21
|
133 end |