5adea53 - Auto-logging for SoD
[wowui.git] / OmaCoords / Coords.lua
1 -- Coords.lua
2 local _;
3 local CTimerAfter = C_Timer.After;
4
5 local updating = false;
6 local frame = CreateFrame("Frame", "OmaCoords", UIParent);
7 frame:SetPoint("CENTER", UIParent, "CENTER", 0, 60);
8 frame:SetWidth(1);
9 frame:SetHeight(1);
10 frame.text = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlight");
11 frame.text:SetPoint("CENTER");
12 frame:Hide();
13
14 local function update()
15     if updating then
16         local map = C_Map.GetBestMapForUnit("player");
17         if map then
18             local vec = C_Map.GetPlayerMapPosition(map, "player");
19             if vec then
20                 local x, y = vec:GetXY();
21                 frame.text:SetFormattedText("%.1f, %.1f", x*100, y*100);
22             else
23                 frame.text:SetFormattedText("not available");
24             end
25         else
26             frame.text:SetFormattedText("not available");
27         end
28         CTimerAfter(0.2, update);
29     end
30 end
31
32 SLASH_OMACOORDS1 = "/coords";
33 function SlashCmdList.OMACOORDS()
34     if frame:IsShown() then
35         updating = false;
36         frame:Hide();
37     else
38         updating = true;
39         update();
40         frame:Show();
41     end
42 end