/trunk
--Achievement Buttons |
self.frame.achButtons[1] = self:CreateAchievementButton("$parentAchButton1", self.frame, 1) |
self.frame.achButtons[1]:SetPoint("TOPLEFT", 12, -90) |
self.frame.achButtons[1]:SetScript("OnEnter", function(self) |
if ( UrbanAchiever.currentTab == "guild" ) then |
GameTooltip:SetOwner(self, "ANCHOR_RIGHT"); |
UrbanAchiever:CheckGuildMembersTooltip(self); |
GameTooltip:Show(); |
end |
end) |
self.frame.achButtons[1]:SetScript("OnLeave", function(self) |
GameTooltip:Hide(); |
guildMemberRequestFrame = nil; |
end) |
for i=2, 27 do |
self.frame.achButtons[i] = self:CreateAchievementButton("$parentAchButton" .. i, self.frame) |
self.frame.achButtons[i]:SetPoint("TOPLEFT", self.frame.achButtons[i-1], "BOTTOMLEFT") |
self.frame.achButtons[i]:SetScript("OnEnter", function(self) |
if ( UrbanAchiever.currentTab == "guild" ) then |
GameTooltip:SetOwner(self, "ANCHOR_RIGHT"); |
UrbanAchiever:CheckGuildMembersTooltip(self); |
GameTooltip:Show(); |
end |
end) |
self.frame.achButtons[i]:SetScript("OnLeave", function(self) |
GameTooltip:Hide(); |
guildMemberRequestFrame = nil; |
end) |
end |
--Achievement Sort Buttons |
self.frame.display.criteriaButtons[1] = self:CreateCriteriaButton("$parentCriteriaButton1", self.frame.display) |
self.frame.display.criteriaButtons[1]:SetPoint("TOPLEFT", 0, -160) |
self.frame.display.criteriaButtons[1]:SetScript("OnEnter", function(self) |
if ( self.date ) then |
GameTooltip:SetOwner(self, "ANCHOR_RIGHT",-50,0); |
GameTooltip:AddLine(self.date, 1, 1, 1); |
UrbanAchiever:CheckGuildMembersTooltip(self); |
GameTooltip:Show(); |
end |
end) |
self.frame.display.criteriaButtons[1]:SetScript("OnLeave", function(self) |
GameTooltip:Hide(); |
guildMemberRequestFrame = nil; |
end) |
if ( self.date ) then |
GameTooltip:SetOwner(self, "ANCHOR_RIGHT",-50,0); |
GameTooltip:AddLine(self.date, 1, 1, 1); |
UrbanAchiever:CheckGuildMembersTooltip(self); |
GameTooltip:Show(); |
end |
end) |
self.frame.display.criteriaButtons[1]:SetScript("OnLeave", function(self) |
GameTooltip:Hide(); |
guildMemberRequestFrame = nil; |
end) |
for i=2, 9 do |
self.frame.display.criteriaButtons[i] = self:CreateCriteriaButton("$parentCriteriaButton" .. i, self.frame.display) |
self.frame.display.criteriaButtons[i]:SetPoint("TOPLEFT", self.frame.display.criteriaButtons[i-1], "BOTTOMLEFT") |
function self:CheckGuildMembersTooltip(requestFrame) |
if ( self.currentTab == "guild" ) then |
local achievementId = requestFrame.id; |
if achievementId == nil then |
achievementId = requestFrame:GetID(); |
end |
local _, achievementName, points, achievementCompleted, month, day, year, description, flags, iconpath = GetAchievementInfo(achievementId); |
-- check if achievement has names, only if completed |
if ( achievementCompleted and bit.band(flags, ACHIEVEMENT_FLAGS_SHOW_GUILD_MEMBERS) == ACHIEVEMENT_FLAGS_SHOW_GUILD_MEMBERS ) then |
end |
end |
-- otherwise check if criteria has names |
elseif ( bit.band(flags, ACHIEVEMENT_FLAGS_SHOW_CRITERIA_MEMBERS) == ACHIEVEMENT_FLAGS_SHOW_CRITERIA_MEMBERS ) then |
local numCriteria = GetAchievementNumCriteria(achievementId); |
local firstName = true; |
for i = 1, numCriteria do |
local criteriaString, _, completed, _, _, charName = GetAchievementCriteriaInfo(achievementId, i); |
if ( completed and charName ) then |
if ( firstName ) then |
if ( achievementCompleted ) then |
GameTooltip:AddLine(GUILD_ACHIEVEMENT_EARNED_BY, 1, 1, 1); |
else |
GameTooltip:AddLine(INCOMPLETE, 1, 1, 1); |
elseif ( flags ~= nil ) then |
if ( bit.band(flags, ACHIEVEMENT_FLAGS_SHOW_CRITERIA_MEMBERS) == ACHIEVEMENT_FLAGS_SHOW_CRITERIA_MEMBERS ) then |
local numCriteria = GetAchievementNumCriteria(achievementId); |
local firstName = true; |
for i = 1, numCriteria do |
local criteriaString, _, completed, _, _, charName = GetAchievementCriteriaInfo(achievementId, i); |
if ( completed and charName ) then |
if ( firstName ) then |
if ( achievementCompleted ) then |
GameTooltip:AddLine(GUILD_ACHIEVEMENT_EARNED_BY, 1, 1, 1); |
else |
GameTooltip:AddLine(INCOMPLETE, 1, 1, 1); |
end |
firstName = false; |
end |
firstName = false; |
GameTooltip:AddDoubleLine(criteriaString, charName, 0, 1, 0); |
end |
GameTooltip:AddDoubleLine(criteriaString, charName, 0, 1, 0); |
end |
end |
end |