Quantcast

Now parties are updated whenever needed

Alar of Daggerspine [07-22-15 - 19:54]
Now parties are updated whenever needed

Signed-off-by: Alar of Daggerspine <alar@aspide.it>
Filename
GarrisonCommander.lua
MissionCache.lua
MissionCompletion.lua
diff --git a/GarrisonCommander.lua b/GarrisonCommander.lua
index 7a09e56..1ae80f7 100644
--- a/GarrisonCommander.lua
+++ b/GarrisonCommander.lua
@@ -330,31 +330,31 @@ addon.Garrison_SortMissions_Original=_G.Garrison_SortMissions
 local Garrison_SortMissions=_G.Garrison_SortMissions
 _G.Garrison_SortMissions= function(missionsList)
 	if GMF:IsVisible() then
+		--@debug@
+		print("Sorting")
+		--@end-debug@
 		Garrison_SortMissions(missionsList)
 	end
 end
 function addon.Garrison_SortMissions_Chance(missionsList)
-	addon:OnAllGarrisonMissions(function(missionID) addon:MatchMaker(missionID) end)
+	addon:RefreshParties()
 	table.sort(missionsList, sorters.Chance);
 end
 function addon.Garrison_SortMissions_Age(missionsList)
-	--addon:OnAllGarrisonMissions(function(missionID) addon:MatchMaker(missionID) end)
+	--addon:RefreshParties()
 	table.sort(missionsList, sorters.Age);
 end
 function addon.Garrison_SortMissions_Duration(missionsList)
-	addon:OnAllGarrisonMissions(function(missionID) addon:MatchMaker(missionID) end)
+	addon:RefreshParties()
 	table.sort(missionsList, sorters.Duration);
 end
 function addon.Garrison_SortMissions_Followers(missionsList)
-	--addon:OnAllGarrisonMissions(function(missionID) addon:MatchMaker(missionID) end)
-	table.sort(missionsList, sorters.Followers);
-end
-function addon.Garrison_SortMissions_Xp(missionsList)
-	addon:OnAllGarrisonMissions(function(missionID) addon:MatchMaker(missionID) end)
+	--addon:OnAllGarrisonMissions(function(missionID) addon:MatchMaker(missiaddon:RefreshParties()ison_SortMissions_Xp(missionsList)
+	addon:RefreshParties()
 	table.sort(missionsList, sorters.Xp);
 end
 function addon.Garrison_SortMissions_Class(missionsList)
-	--addon:OnAllGarrisonMissions(function(missionID) addon:MatchMaker(missionID) end)
+	--addon:RefreshParties()
 	table.sort(missionsList, sorters.Class);
 end
 function addon:ApplyMSORT(value)
@@ -597,7 +597,7 @@ function addon:SetThreatColor(obj,threat)
 end

 function addon:HookedGarrisonMissionButton_AddThreatsToTooltip(missionID)
-	if (ns.ns.GMC:IsShown()) then return end
+	if (ns.ns.GMC:IsVisible()) then return end
 	return self:RenderTooltip(missionID)
 end
 function addon:AddIconsToFollower(missionID,useful,followers,members,followerTypeID)
@@ -712,8 +712,11 @@ local function switch(flag)
 		end
 	end
 end
+function addon:RefreshParties()
+	addon:OnAllGarrisonMissions(function(missionID) addon:MatchMaker(missionID) end)
+end
 function addon:RefreshMissions(missionID)
-	if (GMF:IsShown()) then
+	if (GMF:IsVisible()) then
 		GarrisonMissionList_UpdateMissions()
 	end
 end
@@ -856,13 +859,17 @@ function addon:EventGARRISON_MISSION_STARTED(event,missionID,...)
 	print(event,missionID,...)
 --@end-debug@
 	self:RefreshFollowerStatus()
-	if (not GMF:IsShown()) then
+	if (not GMF:IsVisible()) then
 		-- Shipyard
 		return
 	end
 	wipe(chardb.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
+	if GMF:IsVisible() then
+		self:RefreshParties()
+		self:RefreshMissions()
+	end
 end
 ---
 --@param #string event GARRISON_MISSION_FINISHED
@@ -1052,7 +1059,7 @@ text=text.."</body></html>"
 		helpwindow:Show()
 		return
 	end
-	if (helpwindow:IsShown()) then helpwindow:Hide() else helpwindow:Show() end
+	if (helpwindow:IsVisible()) then helpwindow:Hide() else helpwindow:Show() end
 end
 function addon:Toggle(button)
 	local f=button.Toggle
@@ -1223,21 +1230,21 @@ function addon:ScriptTrace(hook,frame,...)
 --@end-debug@
 end
 function addon:IsProgressMissionPage()
-	return GMF:IsShown() and GMF.MissionTab and GMF.MissionTab.MissionList.showInProgress
+	return GMF:IsVisible() and GMF.MissionTab and GMF.MissionTab.MissionList.showInProgress
 end
 function addon:IsAvailableMissionPage()
-	return GMF:IsShown() and GMF.MissionTab:IsShown() and not GMF.MissionTab.MissionList.showInProgress
+	return GMF:IsVisible() and GMF.MissionTab:IsVisible() and not GMF.MissionTab.MissionList.showInProgress
 end
 function addon:IsFollowerList()
-	return GMF:IsShown() and GMFFollowers:IsShown()
+	return GMF:IsVisible() and GMFFollowers:IsVisible()
 end
 --GMFMissions.CompleteDialog
 function addon:IsRewardPage()
-	return GMF:IsShown() and GMFMissions.CompleteDialog:IsShown()
+	return GMF:IsVisible() and GMFMissions.CompleteDialog:IsVisible()

 end
 function addon:IsMissionPage()
-	return GMF:IsShown() and GMFMissionPage:IsShown()
+	return GMF:IsVisible() and GMFMissionPage:IsVisible()
 end
 ---
 function addon:HookedGarrisonFollowerTooltipTemplate_SetGarrisonFollower(...)
@@ -1439,9 +1446,9 @@ print(this.frame,this.frame:GetName())
 		lastTab=2
 	end
 	function addon:RenderFollowerPageMissionList(frame,followerID,force)
-		print(ns.bigscreen,GMFFollowers:IsShown())
+		print(ns.bigscreen,GMFFollowers:IsVisible())
 		if not ns.bigscreen then return end
-		if not GMFFollowers:IsShown() then return end
+		if not GMFFollowers:IsVisible() then return end
 		if (not ml) then
 			ml=AceGUI:Create("GMCLayer")
 			ml:SetTitle("Ninso")
@@ -1625,7 +1632,7 @@ function addon:ScriptGarrisonMissionFrame_OnShow(...)
 	-- Mission management
 	self:SafeHookScript(GMF.MissionComplete.NextMissionButton,"OnClick","OnClick_GarrisonMissionFrame_MissionComplete_NextMissionButton",true)
 	self:SafeHookScript(GMFMissions.CompleteDialog,"OnShow","RaiseCompleteDialog")
-	if (GMFMissions.CompleteDialog:IsShown()) then
+	if (GMFMissions.CompleteDialog:IsVisible()) then
 		self:RaiseCompleteDialog()
 	end
 	self:RefreshFollowerStatus()
@@ -2183,7 +2190,7 @@ end
 function addon:OpenLastTab()
 	lastTab=lastTab or PanelTemplates_GetSelectedTab(GMF)
 	if lastTab then
-		if ns.GMC:IsShown() then
+		if ns.GMC:IsVisible() then
 			ns.GMC:Hide()
 			GMF.tabMC:SetChecked(false)
 			if lastTab==2 then
@@ -2208,7 +2215,7 @@ function addon:OpenMissionsTab()
 	return self:OpenLastTab()
 end
 function addon:OpenMissionControlTab()
-	if (not ns.GMC:IsShown()) then
+	if (not ns.GMC:IsVisible()) then
 		lastTab=PanelTemplates_GetSelectedTab(GMF)
 		GMF.FollowerTab:Hide()
 		GMF.FollowerList:Hide()
@@ -2224,7 +2231,7 @@ function addon:OpenMissionControlTab()
 end
 function addon:OnClick_GarrisonMissionFrame_MissionComplete_NextMissionButton(this,button)
 	local frame = GMF.MissionComplete
-	if (not frame:IsShown()) then
+	if (not frame:IsVisible()) then
 		self:Trigger("MSORT")
 		self:RefreshFollowerStatus()
 	end
@@ -2882,6 +2889,7 @@ function addon:HookedGMFMissions_update(frame)
 	for _,b in ipairs(frame.buttons) do
 		if b.info then
 			b.party=self:GetParty(b.info.missionID)
+			self:MatchMaker(b.info,b.party)
 			self:DrawSingleButton(GMF,b,false,ns.bigscreen)
 		end
 	end
diff --git a/MissionCache.lua b/MissionCache.lua
index cc40816..09a3f95 100644
--- a/MissionCache.lua
+++ b/MissionCache.lua
@@ -41,7 +41,6 @@ end
 function module:GetMission(id,noretry)
 	local mission
 	if index[id] then
-		print(id,index[id])
 		local type,ix=strsplit("@",index[id])
 		ix=tonumber(ix)
 		if type=="a" then
@@ -63,7 +62,6 @@ function module:GetMission(id,noretry)
 	return self:GetMission(id,true)
 end
 function module:AddExtraData(mission)
-	print(mission)
 	mission.rank=mission.level < GARRISON_FOLLOWER_MAX_LEVEL and mission.level or mission.iLevel
 	mission.resources=0
 	mission.oil=0
diff --git a/MissionCompletion.lua b/MissionCompletion.lua
index 411a503..2f84b31 100644
--- a/MissionCompletion.lua
+++ b/MissionCompletion.lua
@@ -95,6 +95,8 @@ function module:Events(on)
 end
 function module:CloseReport()
 	if report then pcall(report.Close,report) report=nil end
+	addon:RefreshParties()
+	addon:RefreshMissions()
 end
 function module:MissionComplete(this,button)