comparison Spotlight.lua @ 5:59c355620405 v0.7.1.2

Added Slash Handler for /spotlight Updated LDB display formatting. Added verification to initialization
author Vynn <mischivin@gmail.com>
date Sun, 29 Jan 2017 10:18:10 -0500
parents c5024af04845
children a30c29933ebc
comparison
equal deleted inserted replaced
4:61a64da6caec 5:59c355620405
5 OnClick = function(clickedframe, button) 5 OnClick = function(clickedframe, button)
6 Spotlight.ShowPercent = not Spotlight.ShowPercent; 6 Spotlight.ShowPercent = not Spotlight.ShowPercent;
7 Spotlight.Update(); 7 Spotlight.Update();
8 end, 8 end,
9 }) 9 })
10
11 SLASH_SPOTLIGHT1, SLASH_SPOTLIGHT2 = "/spotlight", "/Spotlight";
12
13 local function SlashHandler(msg)
14 print("|T" .. dataobj.icon .. ":0|t |cffe5cc80Spotlight|r - Artifact Hidden Skin Progress:");
15 if Spotlight.IDs then
16 for key, value in pairs(Spotlight.IDs) do
17 print(" |cffe5cc80" .. key .. " - " .. Spotlight.Format(key, false) .. " (" .. Spotlight.Format(key, true) .. ")|r");
18 end
19 end
20 end
21
22 function SlashCmdList.SPOTLIGHT(msg, editbox)
23 SlashHandler(msg);
24 end
10 25
11 local function Initialize () 26 local function Initialize ()
12 if not Spotlight.Status then 27 if not Spotlight.Status then
13 Spotlight.Status = { 28 Spotlight.Status = {
14 Dungeons = { 29 Dungeons = {
59 b = string.format("%i", b * 255); 74 b = string.format("%i", b * 255);
60 75
61 return "ff" .. string.format("%02x", r) .. string.format("%02x", g) .. string.format("%02x", b); 76 return "ff" .. string.format("%02x", r) .. string.format("%02x", g) .. string.format("%02x", b);
62 end 77 end
63 78
64 Spotlight.Format = function (key) 79 Spotlight.Format = function (key, showPercent)
65 local value = Spotlight.Status[key].Progress / Spotlight.Status[key].Max; 80 local value = Spotlight.Status[key].Progress / Spotlight.Status[key].Max;
66 if Spotlight.ShowPercent then 81 if showPercent then
67 value = string.format("|c" .. Spotlight.GetColor(value) .. "%.1f|cffffffff%%|r", value * 100); 82 value = string.format("|c" .. Spotlight.GetColor(value) .. "%.1f|cffffffff%%|r", value * 100);
68 else 83 else
69 value = "|c" .. Spotlight.GetColor(value) .. Spotlight.Status[key].Progress .. "|cffffffff/" .. Spotlight.Status[key].Max .. "|r"; 84 value = "|c" .. Spotlight.GetColor(value) .. Spotlight.Status[key].Progress .. "|cffffffff/" .. Spotlight.Status[key].Max .. "|r";
70 end 85 end
71 return value; 86 return value;
75 local output = ""; 90 local output = "";
76 for key, value in pairs(Spotlight.IDs) do 91 for key, value in pairs(Spotlight.IDs) do
77 Spotlight.Status[key].Completed = select(3, GetAchievementCriteriaInfo(value,1)); 92 Spotlight.Status[key].Completed = select(3, GetAchievementCriteriaInfo(value,1));
78 if not Spotlight.Status[key].Completed then 93 if not Spotlight.Status[key].Completed then
79 Spotlight.Status[key].Progress = Spotlight.Calculate(key); 94 Spotlight.Status[key].Progress = Spotlight.Calculate(key);
95 if output == "" then
96 else
97 output = output .. " ||";
98 end
80 if Spotlight.Status[key].Progress > 0 then 99 if Spotlight.Status[key].Progress > 0 then
81 output = output .. string.format(" %.1s", key) .. ":" .. Spotlight.Format(key); 100 output = output .. string.format("|cffe5cc80 %.1s", key) .. ":|r " .. Spotlight.Format(key, Spotlight.ShowPercent);
82 end 101 end
83 end 102 end
84 end 103 end
85 dataobj.icon = GetInventoryItemTexture("player", 16); 104 dataobj.icon = GetInventoryItemTexture("player", 16);
86 dataobj.text = output; 105 dataobj.text = output;
87 end 106 end
88 107
89 Spotlight.Update(); 108 Spotlight.Update();
109
110 return true
90 end 111 end
91 112
92 function dataobj:OnTooltipShow() 113 function dataobj:OnTooltipShow()
93 self:AddLine("Spotlight - Hidden Artifact Tracker|n|n"); 114 self:AddLine("|cffe5cc80Spotlight - Hidden Artifact Skins|r|n|n");
94 for k, v in pairs(Spotlight.IDs) do 115 for k, v in pairs(Spotlight.IDs) do
95 self:AddDoubleLine(k .. ":", Spotlight.Format(k)); 116 self:AddDoubleLine(k .. ":", Spotlight.Format(k, false) .. " (" .. Spotlight.Format(k, true) .. ")");
96 end 117 end
97 self:AddLine("|nClick to toggle display method"); 118 self:AddLine("|nClick to toggle display method");
98 end 119 end
99 120
100 function dataobj:OnEnter() 121 function dataobj:OnEnter()
109 GameTooltip:Hide() 130 GameTooltip:Hide()
110 end 131 end
111 132
112 local function EventHandler(self, event, ...) 133 local function EventHandler(self, event, ...)
113 if event == "VARIABLES_LOADED" then 134 if event == "VARIABLES_LOADED" then
114 Initialize(); 135 if Initialize() then
136 print("|T" .. dataobj.icon .. ":0|t |cffe5cc80Spotlight v" .. GetAddOnMetadata("Spotlight", "Version") .. " Loaded!|r")
137 end
115 end 138 end
116 if event == "CRITERIA_UPDATE" or "PLAYER_ENTERING_WORLD" then 139 if event == "CRITERIA_UPDATE" or "PLAYER_ENTERING_WORLD" then
117 Spotlight.Update(); 140 Spotlight.Update();
118 end 141 end
119 end 142 end