11local name , _ = ...
22
3- local ResearchViewer = {}
3+ ResearchViewer = {}
44local LibDBIcon = LibStub (" LibDBIcon-1.0" )
55
66local playerClass , _ = UnitClassBase (" player" )
@@ -117,9 +117,26 @@ ResearchViewer.neverImplemented = {
117117 },
118118}
119119
120+ local frame = CreateFrame (" FRAME" )
121+ local function OnEvent (_ , event , ...)
122+ if event == " ADDON_LOADED" then
123+ local addonName = ...
124+ if addonName == name then
125+ ResearchViewer :OnInitialize ()
126+ end
127+ if addonName == " Blizzard_OrderHallUI" then
128+ ResearchViewer :InitDropDown ()
129+ end
130+ end
131+ end
132+ frame :HookScript (' OnEvent' , OnEvent )
133+ frame :RegisterEvent (' ADDON_LOADED' )
134+
120135function ResearchViewer :OnInitialize ()
121136 ResearchViewerDB = ResearchViewerDB or {}
137+ ResearchViewerCharDB = ResearchViewerCharDB or { lastSelected = ResearchViewerDB .lastSelected }
122138 self .db = ResearchViewerDB
139+ self .charDb = ResearchViewerCharDB
123140
124141 if not self .db .ldbOptions then
125142 self .db .ldbOptions = {
@@ -177,7 +194,7 @@ function ResearchViewer:OnInitialize()
177194 if message == " reset" then
178195 wipe (ResearchViewer .db .ldbOptions )
179196 ResearchViewer .db .ldbOptions .hide = false
180- ResearchViewer .db .lastSelected = nil
197+ ResearchViewer .charDb .lastSelected = nil
181198
182199 LibDBIcon :Hide (name )
183200 LibDBIcon :Show (name )
@@ -187,21 +204,6 @@ function ResearchViewer:OnInitialize()
187204 end
188205end
189206
190- local frame = CreateFrame (" FRAME" )
191- local function OnEvent (_ , event , ...)
192- if event == " ADDON_LOADED" then
193- local addonName = ...
194- if addonName == name then
195- ResearchViewer :OnInitialize ()
196- end
197- if addonName == " Blizzard_OrderHallUI" then
198- ResearchViewer :InitDropDown ()
199- end
200- end
201- end
202- frame :HookScript (' OnEvent' , OnEvent )
203- frame :RegisterEvent (' ADDON_LOADED' )
204-
205207function ResearchViewer :AlreadyAdded (textLine , tooltip )
206208 if textLine == nil then
207209 return false
@@ -250,15 +252,15 @@ end
250252
251253function ResearchViewer :OpenResearchView ()
252254 OrderHall_LoadUI ()
253- ResearchViewer .selectedTreeInfo = ResearchViewer .db and ResearchViewer .db .lastSelected or ResearchViewer .talentTrees .Shadowlands [2 ]
255+ ResearchViewer .selectedTreeInfo = ResearchViewer .charDb and ResearchViewer .charDb .lastSelected or ResearchViewer .talentTrees .Shadowlands [2 ]
254256 ResearchViewer :InitDropDown ()
255257 ResearchViewer :OpenSelectedResearch ()
256258end
257259
258260local hooked = false
259261function ResearchViewer :OpenSelectedResearch ()
260262 OrderHallTalentFrame :SetGarrisonType (self .selectedTreeInfo .type , self .selectedTreeInfo .id )
261- self .db .lastSelected = self .selectedTreeInfo
263+ self .charDb .lastSelected = self .selectedTreeInfo
262264 ToggleOrderHallTalentUI ()
263265 self .dropDownButton :Show ()
264266 if not hooked then
0 commit comments