init
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||||
local mod = E:GetModule("DataBars")
|
||||
|
||||
--Lua functions
|
||||
--WoW API / Variables
|
||||
local GetExpansionLevel = GetExpansionLevel
|
||||
local MAX_PLAYER_LEVEL_TABLE = MAX_PLAYER_LEVEL_TABLE
|
||||
|
||||
function mod:OnLeave()
|
||||
if (self == ElvUI_ExperienceBar and mod.db.experience.mouseover) or (self == ElvUI_ReputationBar and mod.db.reputation.mouseover) then
|
||||
E:UIFrameFadeOut(self, 1, self:GetAlpha(), 0)
|
||||
end
|
||||
GameTooltip:Hide()
|
||||
end
|
||||
|
||||
function mod:CreateBar(name, onEnter, onClick, ...)
|
||||
local bar = CreateFrame("Button", name, E.UIParent)
|
||||
bar:Point(...)
|
||||
bar:SetScript("OnEnter", onEnter)
|
||||
bar:SetScript("OnLeave", mod.OnLeave)
|
||||
bar:SetScript("OnClick", onClick)
|
||||
bar:SetFrameStrata("LOW")
|
||||
bar:SetTemplate("Transparent")
|
||||
bar:Hide()
|
||||
|
||||
bar.statusBar = CreateFrame("StatusBar", nil, bar)
|
||||
bar.statusBar:SetInside()
|
||||
bar.statusBar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(bar.statusBar)
|
||||
bar.text = bar.statusBar:CreateFontString(nil, "OVERLAY")
|
||||
bar.text:FontTemplate()
|
||||
bar.text:Point("CENTER")
|
||||
|
||||
return bar
|
||||
end
|
||||
|
||||
function mod:UpdateDataBarDimensions()
|
||||
self:UpdateExperienceDimensions()
|
||||
self:UpdateReputationDimensions()
|
||||
end
|
||||
|
||||
function mod:PLAYER_LEVEL_UP(level)
|
||||
local maxLevel = MAX_PLAYER_LEVEL_TABLE[GetExpansionLevel()]
|
||||
if (level ~= maxLevel or not self.db.experience.hideAtMaxLevel) and self.db.experience.enable then
|
||||
self:UpdateExperience("PLAYER_LEVEL_UP", level)
|
||||
else
|
||||
self.expBar:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:Initialize()
|
||||
self.db = E.db.databars
|
||||
|
||||
self:LoadExperienceBar()
|
||||
self:LoadReputationBar()
|
||||
self:RegisterEvent("PLAYER_LEVEL_UP")
|
||||
end
|
||||
|
||||
local function InitializeCallback()
|
||||
mod:Initialize()
|
||||
end
|
||||
|
||||
E:RegisterModule(mod:GetName(), InitializeCallback)
|
||||
Reference in New Issue
Block a user