/Tukui/modules/maps/zonemap.lua

http://github.com/Asphyxia/Tukui · Lua · 68 lines · 58 code · 8 blank · 2 comment · 12 complexity · 5b6d2d10380e9dde951d0c19210b20d3 MD5 · raw file

  1. local T, C, L = unpack(select(2, ...)) -- Import: T - functions, constants, variables; C - config; L - locales
  2. -- BG TINY MAP (BG, mining, etc)
  3. local tinymap = CreateFrame("Frame", "TukuiZoneMap", UIParent)
  4. tinymap:SetPoint("CENTER")
  5. tinymap:SetSize(223, 150)
  6. tinymap:EnableMouse(true)
  7. tinymap:SetMovable(true)
  8. tinymap:RegisterEvent("ADDON_LOADED")
  9. tinymap:SetPoint("CENTER", UIParent, 0, 0)
  10. tinymap:SetFrameLevel(7)
  11. tinymap:Hide()
  12. -- create minimap background
  13. local tinymapbg = CreateFrame("Frame", nil, tinymap)
  14. tinymapbg:SetAllPoints()
  15. tinymapbg:SetFrameLevel(0)
  16. tinymapbg:SetTemplate("Transparent")
  17. tinymap:SetScript("OnEvent", function(self, event, addon)
  18. if addon ~= "Blizzard_BattlefieldMinimap" then return end
  19. BattlefieldMinimap:SetScript("OnShow", function(self)
  20. tinymap:Show()
  21. BattlefieldMinimapCorner:Kill()
  22. BattlefieldMinimapBackground:Kill()
  23. BattlefieldMinimapTab:Kill()
  24. BattlefieldMinimapTabLeft:Kill()
  25. BattlefieldMinimapTabMiddle:Kill()
  26. BattlefieldMinimapTabRight:Kill()
  27. self:SetParent(tinymap)
  28. self:SetPoint("TOPLEFT", tinymap, "TOPLEFT", 2, -2)
  29. self:SetFrameStrata(tinymap:GetFrameStrata())
  30. BattlefieldMinimapCloseButton:ClearAllPoints()
  31. BattlefieldMinimapCloseButton:SetPoint("TOPRIGHT", -4, 0)
  32. BattlefieldMinimap:SetFrameLevel(6)
  33. BattlefieldMinimapCloseButton:SetFrameLevel(8)
  34. tinymap:SetScale(1)
  35. tinymap:SetAlpha(1)
  36. BattlefieldMinimap_Update() --BugFix map not update on initial show
  37. end)
  38. BattlefieldMinimap:SetScript("OnHide", function(self)
  39. tinymap:SetScale(0.00001)
  40. tinymap:SetAlpha(0)
  41. end)
  42. tinymap:SetScript("OnMouseUp", function(self, btn)
  43. if btn == "LeftButton" then
  44. self:StopMovingOrSizing()
  45. if OpacityFrame:IsShown() then OpacityFrame:Hide() end -- seem to be a bug with default ui in 4.0, we hide it on next click
  46. elseif btn == "RightButton" then
  47. ToggleDropDownMenu(1, nil, BattlefieldMinimapTabDropDown, self:GetName(), 0, -4)
  48. if OpacityFrame:IsShown() then OpacityFrame:Hide() end -- seem to be a bug with default ui in 4.0, we hide it on next click
  49. end
  50. end)
  51. tinymap:SetScript("OnMouseDown", function(self, btn)
  52. if btn == "LeftButton" then
  53. if BattlefieldMinimapOptions and BattlefieldMinimapOptions.locked then
  54. return
  55. else
  56. self:StartMoving()
  57. end
  58. end
  59. end)
  60. end)