From 237d4bdc254ba9e364e8c011382dbd73a6d8b339 Mon Sep 17 00:00:00 2001 From: Alar of Daggerspine Date: Tue, 21 Jul 2015 16:32:52 +0200 Subject: [PATCH] Removed dbseen (used to store mission expiration) Signed-off-by: Alar of Daggerspine --- GarrisonCommander.lua | 66 ++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/GarrisonCommander.lua b/GarrisonCommander.lua index 5bba5e8..d6e3887 100644 --- a/GarrisonCommander.lua +++ b/GarrisonCommander.lua @@ -97,7 +97,8 @@ local SHORTDATE=SHORTDATE.. " %s" local LEVEL=LEVEL -- Level local MISSING=ADDON_MISSING local NOT_COLLECTED=NOT_COLLECTED -- not collected -local GMF=GarrisonMissionFrame +local GMF=GMF +local GSF=GSF local GMFFollowerPage=GMF.FollowerTab local GMFFollowers=GarrisonMissionFrameFollowers local GMFMissionPage=GMF.MissionTab.MissionPage @@ -554,8 +555,9 @@ function addon:GetCounterBias(missionID,threat) if (tContains(members,follower.followerID)) then if (dbg) then --@debug@ -print(" Choosen",self:GetFollowerData(follower.followerID,'fullname')) end + print(" Choosen",self:GetFollowerData(follower.followerID,'fullname')) --@end-debug@ + end bias=follower.bias who=follower.name end @@ -619,7 +621,7 @@ end function addon:AddFollowersToTooltip(missionID,followerTypeID) --local f=GarrisonMissionListTooltipThreatsFrame -- Adding All available followers - if not GameTooltip:IsVisible() then return end + if not GMF:IsVisible() and not GSF:IsVisible() then return end local party=self:GetParty(missionID) local cost=self:GetMissionData(missionID,'cost') local currency=self:GetMissionData(missionID,'costCurrencyTypesID') @@ -747,7 +749,6 @@ function addon:CreatePrivateDb() GetAddOnMetadata(me,"X-Database")..'perChar', { profile={ - seen={}, ignored={ ["*"]={ } @@ -806,6 +807,7 @@ function addon:CreatePrivateDb() true) dbcache=self.privatedb.profile cache=self.private.profile + dbcache.seen=nil -- Removed in 2.6.9 cache.running=nil cache.runningIndex=nil end @@ -823,7 +825,6 @@ end function addon:WipeMission(missionID) cache.missions[missionID]=nil counters[missionID]=nil - dbcache.seen[missionID]=nil parties[missionID]=nil --collectgarbage("step") end @@ -850,6 +851,7 @@ function addon:EventGARRISON_MISSION_STARTED(event,missionID,...) --@debug@ print(event,missionID,...) --@end-debug@ + self:RefreshFollowerStatus() if (not GMF:IsShown()) then -- Shipyard return @@ -857,8 +859,6 @@ function addon:EventGARRISON_MISSION_STARTED(event,missionID,...) wipe(dbcache.ignored[missionID]) local party=self:GetParty(missionID) wipe(party.members) -- I remove preset party, so PartyCache will refill it with the ones from the actual mission - local v=dbcache.seen[missionID] - dbcache.seen[missionID]=nil end --- --@param #string event GARRISON_MISSION_FINISHED @@ -882,7 +882,6 @@ end -- function addon:EventGARRISON_MISSION_COMPLETE_RESPONSE(event,missionID,completed,rewards) dbcache.history[missionID][time()]={result=100,success=rewards} - dbcache.seen[missionID]=nil end ----------------------------------------------------- -- Coroutines data and clock management @@ -1791,19 +1790,24 @@ function addon:SafeHookScript(frame,method,handler,hookType) if not handler then handler='Script'..name..method elseif type(handler)=="boolean" then - handler=function(...) --@debug@ -print(name,method,...) end + do + local method=method + handler=function(...) print(name,method,...) end + end --@end-debug@ +--[===[@non-debug@ + return -- Trace only hook are not for public +--@end-non-debug@]===] + end self:checkHandler(handler) if hookType and type(hookType)=="boolean" then hookType="post" end --This allow to change a method, for example to substitute an one time init with the standard routine if (self:IsHooked(frame,method)) then self:Unhook(frame,method) end - ---@debug@ -print(hookType or "","Hooked Script",method,"on frame",name,"to",handler) ---@end-debug@ + --@debug@ + print(hookType or "","Hooked Script",method,"on frame",name,"to",handler) + --@end-debug@ if hookType=="post" or hookType=="secure" then self:SecureHookScript(frame,method,handler) elseif (hookType=="raw") then @@ -2094,9 +2098,11 @@ print("Unable to find follower",followerID) frame.PortraitFrame.LevelBorder:SetWidth(58); showItemLevel = false; end +--[===[@non-debug@ local rc,message= pcall(GarrisonMissionFrame_SetFollowerPortrait,frame.PortraitFrame, info, false); +--@end-non-debug@]===] --@debug@ - if not rc then print(message) end + GarrisonMissionFrame_SetFollowerPortrait(frame.PortraitFrame, info, false) --@end-debug@ -- Counters icon if (frame.Name and frame.Threats) then @@ -2169,15 +2175,6 @@ function addon:BuildFollowersButtons(button,bg,limit,bigscreen) button.Threats[1]:SetPoint("TOPLEFT",165,0) end end -function addon:CheckExpire(missionID) - local age=tonumber(dbcache.seen[missionID]) - local expire=ns.wowhead[missionID] - print("Age",date("%m/%d/%y %H:%M:%S",age)) - print("Now",date("%m/%d/%y %H:%M:%S")) - print("Expire",expire) - print("Age+expire",date("%m/%d/%y %H:%M:%S",age+expire)) - print("Delta",age+expire-time()) -end function addon:BuildExtraButton(button,bigscreen) end @@ -2908,8 +2905,9 @@ function addon:AddFollowersToButton(button,mission,missionID,bigscreen) local mission=missionInfo if not mission then --@debug@ -print("Non ho la missione") return end -- something went wrong while refreshing + print("Non ho la missione") return -- something went wrong while refreshing --@end-debug@ + end if (not bigscreen) then local index=mission.numFollowers+mission.numRewards-3 local position=(index * -65) - 130 @@ -2927,7 +2925,7 @@ print("Non ho la missione") return end -- something went wrong while refreshing if (i>mission.numFollowers) then frame:Hide() else - if (mission.followers[i]) then + if (mission.inProgress and mission.followers[i]) then self:RenderFollowerButton(frame,mission.followers[i],missionID,b,t) if (frame.NotFull) then frame.NotFull:Hide() end elseif (party.members[i]) then @@ -2943,11 +2941,10 @@ print("Non ho la missione") return end -- something went wrong while refreshing end -- Switchs between active and availabla missions depending on tab object function over.GarrisonMissionList_SetTab(...) - ---@debug@ -print("Click su",...) ---@end-debug@ - -- I dont actually care wich page we are shoing, I know I must redraw missions + --@debug@ + print("Click su",...) + --@end-debug@ + -- I dont actually care wich page we are showing, I know I must redraw missions orig.GarrisonMissionList_SetTab(...) addon:RefreshFollowerStatus() for i=1,#GMFMissionListButtons do @@ -2981,11 +2978,14 @@ end function addon:HookedGarrisonMissionButton_SetRewards(frame,rewards,numRewards) collectgarbage("step",200) if frame.info then - if frame.info.inProgress and frame.lastID and frame.lastID == frame.info.missionID then + if frame.info.inProgress and frame.lastID and frame.lastID == frame.info.missionID and frame.lastProgress then return end frame.lastID = frame.info.missionID - frame.party=self:GetParty(frame.info.missionID) + frame.lastProgress = frame.info.inProgress + if not frame.party or frame.party.missionID ~=frame.info.missionID then + frame.party=self:GetParty(frame.info.missionID) + end self:DrawSingleButton(GMF,frame,false,ns.bigscreen) end end -- 1.7.9.5