8ad40722a0
Update nameplate coloring. Fix world map blips
70 lines
1.8 KiB
Lua
70 lines
1.8 KiB
Lua
local E, L, V, P, G = unpack(ElvUI)
|
|
local WMB = E:NewModule("Enhanced_WorldMapBlips")
|
|
|
|
local _G = _G
|
|
|
|
local UnitClass = UnitClass
|
|
local UnitInParty = UnitInParty
|
|
|
|
local BLIP_TEX_COORDS = { 0.5, 0.625, 0, 0.25 }
|
|
|
|
local BLIP_RAID_Y_OFFSET = 0.5
|
|
|
|
local function OnShowParty(self)
|
|
local _, class = UnitClass(self.unit)
|
|
if not class then return end
|
|
|
|
if self.class ~= class then
|
|
self.class = class
|
|
self.icon:SetTexCoord(unpack(BLIP_TEX_COORDS))
|
|
end
|
|
end
|
|
|
|
local function OnShowRaid(self)
|
|
if not self.unit then return end -- players in the battleground not in your raid
|
|
|
|
local _, class = UnitClass(self.unit)
|
|
if not class then return end
|
|
|
|
local inParty = UnitInParty(self.unit)
|
|
|
|
if self.class ~= class or self.inParty ~= inParty then
|
|
self.class = class
|
|
self.inParty = inParty
|
|
|
|
if inParty then
|
|
self.icon:SetTexCoord(unpack(BLIP_TEX_COORDS))
|
|
else
|
|
self.icon:SetTexCoord(BLIP_TEX_COORDS[1], BLIP_TEX_COORDS[2], BLIP_TEX_COORDS[3] + BLIP_RAID_Y_OFFSET, BLIP_TEX_COORDS[4] + BLIP_RAID_Y_OFFSET)
|
|
end
|
|
end
|
|
end
|
|
|
|
function WMB:Initialize()
|
|
local _, _, _, enabled, _, reason = GetAddOnInfo("Mapster")
|
|
if reason ~= "MISSED" and enabled then return end
|
|
|
|
local frame
|
|
|
|
for i = 1, MAX_PARTY_MEMBERS do
|
|
frame = _G["WorldMapParty"..i]
|
|
frame.icon:SetTexture("Interface\\Addons\\ElvUI_Enhanced\\Media\\Textures\\PartyRaidBlips")
|
|
frame:Size(24)
|
|
frame:HookScript("OnShow", OnShowParty)
|
|
end
|
|
|
|
for i = 1, MAX_RAID_MEMBERS do
|
|
frame = _G["WorldMapRaid"..i]
|
|
frame.icon:SetTexture("Interface\\Addons\\ElvUI_Enhanced\\Media\\Textures\\PartyRaidBlips")
|
|
frame:Size(24)
|
|
frame:HookScript("OnShow", OnShowRaid)
|
|
end
|
|
|
|
Minimap:SetClassBlipTexture("Interface\\Addons\\ElvUI_Enhanced\\Media\\Textures\\PartyRaidBlips")
|
|
end
|
|
|
|
local function InitializeCallback()
|
|
WMB:Initialize()
|
|
end
|
|
|
|
E:RegisterModule(WMB:GetName(), InitializeCallback) |