c39801d - Add simple red alert aura tracking
[wowui.git] / OmaAB / AzeriteBar.lua
1 -- AzeriteBar.lua
2 local _;
3 local width = 300;
4 local running = false;
5 local frame = CreateFrame("Frame", "OmaAzeriteBar", UIParent);
6
7 frame:SetScript("OnEvent", function()
8     frame:SetPoint("BOTTOM");
9     frame:SetWidth(width);
10     frame:SetHeight(8);
11     frame.base = frame:CreateTexture(nil, "BACKGROUND");
12     frame.base:SetAllPoints();
13     frame.base:SetColorTexture(0, 0, 0, 0.5);
14     frame.bar = frame:CreateTexture(nil, "BORDER");
15     frame.bar:SetPoint("TOPLEFT", frame.base, "TOPLEFT");
16     frame.bar:SetPoint("BOTTOMLEFT", frame.base, "BOTTOMLEFT");
17     frame.bar:SetColorTexture(ARTIFACT_BAR_COLOR:GetRGB());
18     frame.text = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlight");
19     frame.text:SetPoint("BOTTOM");
20     frame.text:Hide();
21
22     frame:SetScript("OnEvent", function()
23         -- from FrameXML/AzeriteBar.lua
24         local azeriteItem = C_AzeriteItem.FindActiveAzeriteItem();
25         if not azeriteItem then return end
26
27         local xp, totalxp = C_AzeriteItem.GetAzeriteItemXPInfo(azeriteItem);
28         frame.bar:SetWidth(xp/totalxp*width);
29         frame.text:SetFormattedText("%d / %d", xp, totalxp);
30     end);
31     frame:UnregisterAllEvents();
32     frame:RegisterEvent("PLAYER_ENTERING_WORLD");
33     frame:RegisterEvent("AZERITE_ITEM_EXPERIENCE_CHANGED");
34     -- from FrameXML/MainMenuBar.lua
35     frame:SetScript("OnEnter", function(frame) frame.text:Show(); end);
36     frame:SetScript("OnLeave", function(frame) frame.text:Hide(); end);
37 end);
38 frame:RegisterEvent("PLAYER_LOGIN");