/trunk
## Interface: 40300 |
## Interface: 50001 |
## Title: Urban Achiever |
## Author: Syzgyn, Tomate |
## Notes: Improved Achievement Frame |
## Notes-frFR: Fenêtre de Hauts Faits améliorée |
## Notes-zhTW:æ¹é²æå°±æ¡æ¶ |
## Notes-zhCN:æ¹è¿æå°±æ¡æ¶ |
## Version 14.3.wowi:revision |
## Version 15.0.wowi:revision |
## OptionalDeps: Blizzard_AchievementUI |
## SavedVariables: UASV |
## SavedVariablesPerCharacter: UASVPC |
--SKINNER ADD |
--categoryStatusBar15165 |
--categoryStatusBar15117 |
local DBG = false |
UrbanAchiever = LibStub("AceAddon-3.0"):NewAddon("UrbanAchiever", "AceConsole-3.0", "AceEvent-3.0", "AceHook-3.0") |
local self = UrbanAchiever |
--bindings |
BINDING_HEADER_URBANACHIEVER = "Urban Achiever" |
local MAX_ACHIEVEMENTS = 6323 --last 6322 |
local MAX_ACHIEVEMENTS = 7502 --last 7501 |
local menuTypes = {"PLAYER", "PARTY", "RAID_PLAYER"} |
local playerFaction = UnitFactionGroup("player") == "Alliance" and 1 or 2 |
for id = 1, MAX_ACHIEVEMENTS do |
category = GetAchievementCategory(id) |
if category and category ~= nil then |
lastID = id |
_, _, _, completed = GetAchievementInfo(id) |
if not (UrbanAchiever.factionAchs[tostring(id)] and UrbanAchiever.factionAchs[tostring(id)] ~= playerFaction) then |
if(type(self.achieveList[category]) == "table") then |
end |
end |
end |
--print(lastID) |
end |
function self:OnEnable() |
--Add the criteria info |
for a=1, GetAchievementNumCriteria(id) do |
criteriaName = GetAchievementCriteriaInfo(id, a) |
searchStr = searchStr .. (criteriaName or "") .. "; " |
_, criteriaName = pcall(GetAchievementCriteriaInfo, id, a) |
searchStr = searchStr .. (criteriaName or "") .. "; " |
end |
--Add all the info to the master list |
return searchStr:lower() |
categoryStatusBar97:Hide(); |
categoryStatusBar95:Hide(); |
categoryStatusBar168:Hide(); |
categoryStatusBar15165:Hide(); |
categoryStatusBar169:Hide(); |
categoryStatusBar201:Hide(); |
categoryStatusBar155:Hide(); |
categoryStatusBar15117:Hide(); |
categoryStatusBar81:Hide(); |
end |
function self:ShowCategorySum() |
categoryStatusBar97:Show(); |
categoryStatusBar95:Show(); |
categoryStatusBar168:Show(); |
categoryStatusBar15165:Show(); |
categoryStatusBar169:Show(); |
categoryStatusBar201:Show(); |
categoryStatusBar155:Show(); |
categoryStatusBar15117:Show(); |
categoryStatusBar81:Hide(); |
end |
function self:HideCategorySumGuild() |
self.frame.category[id] = CreateFrame("StatusBar","categoryStatusBar"..id, self.frame, "AchievementProgressBarTemplate") |
if idxCat == 1 then |
lastFrameID = id |
self.frame.category[id]:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT", 15, 120) |
self.frame.category[id]:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT", 15, 155) |
else |
if (idxCat%2) == 0 then |
self.frame.category[id]:SetPoint("LEFT", self.frame.category[lastFrameID], "RIGHT", 20, 0) |
self.frame.display.criteriaButtons[buttonNum].icon:Show() |
offset = offset + 16 |
self.frame.display.criteriaButtons[buttonNum]:SetID(criteriaAssetID) |
elseif (bit.band(criteriaFlags, ACHIEVEMENT_CRITERIA_PROGRESS_BAR) == ACHIEVEMENT_CRITERIA_PROGRESS_BAR) then |
elseif (bit.band(criteriaFlags, 1) == 1) then |
--Its a progress bar |
offset = 1 |
self.frame.display.criteriaButtons[buttonNum]:Hide() |