Fixes Enhanced character frame
Update nameplate coloring. Fix world map blips
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local WF = E:NewModule("Enhanced_WatchFrame", "AceEvent-3.0")
|
||||
|
||||
local IsInInstance = IsInInstance
|
||||
local IsResting = IsResting
|
||||
local UnitAffectingCombat = UnitAffectingCombat
|
||||
|
||||
local watchFrame
|
||||
|
||||
local statedriver = {
|
||||
["NONE"] = function()
|
||||
WatchFrame.userCollapsed = false
|
||||
WatchFrame_Expand(watchFrame)
|
||||
WatchFrame:Show()
|
||||
end,
|
||||
["COLLAPSED"] = function()
|
||||
WatchFrame.userCollapsed = true
|
||||
WatchFrame_Collapse(watchFrame)
|
||||
WatchFrame:Show()
|
||||
end,
|
||||
["HIDDEN"] = function()
|
||||
WatchFrame:Hide()
|
||||
end
|
||||
}
|
||||
|
||||
function WF:ChangeState()
|
||||
if UnitAffectingCombat("player") then
|
||||
self:RegisterEvent("PLAYER_REGEN_ENABLED", "ChangeState")
|
||||
self.inCombat = true
|
||||
return
|
||||
end
|
||||
|
||||
if IsResting() then
|
||||
statedriver[self.db.city](watchFrame)
|
||||
else
|
||||
local _, instanceType = IsInInstance()
|
||||
if instanceType == "pvp" then
|
||||
statedriver[self.db.pvp](watchFrame)
|
||||
elseif instanceType == "arena" then
|
||||
statedriver[self.db.arena](watchFrame)
|
||||
elseif instanceType == "party" then
|
||||
statedriver[self.db.party](watchFrame)
|
||||
elseif instanceType == "raid" then
|
||||
statedriver[self.db.raid](watchFrame)
|
||||
else
|
||||
statedriver["NONE"](watchFrame)
|
||||
end
|
||||
end
|
||||
|
||||
if self.inCombat then
|
||||
self:UnregisterEvent("PLAYER_REGEN_ENABLED")
|
||||
self.inCombat = nil
|
||||
end
|
||||
end
|
||||
|
||||
function WF:UpdateSettings()
|
||||
if self.db.enable then
|
||||
self:RegisterEvent("PLAYER_ENTERING_WORLD", "ChangeState")
|
||||
self:RegisterEvent("PLAYER_UPDATE_RESTING", "ChangeState")
|
||||
else
|
||||
self:UnregisterEvent("PLAYER_ENTERING_WORLD")
|
||||
self:UnregisterEvent("PLAYER_UPDATE_RESTING")
|
||||
end
|
||||
end
|
||||
|
||||
function WF:Initialize()
|
||||
watchFrame = _G["WatchFrame"]
|
||||
self.db = E.db.enhanced.watchframe
|
||||
|
||||
self:UpdateSettings()
|
||||
end
|
||||
|
||||
local function InitializeCallback()
|
||||
WF:Initialize()
|
||||
end
|
||||
|
||||
E:RegisterModule(WF:GetName(), InitializeCallback)
|
||||
Reference in New Issue
Block a user