You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.5 KiB
61 lines
2.5 KiB
local _G = _G
|
|
local format, strlower = format, strlower
|
|
|
|
local GetAddOnEnableState, GetAddOnInfo, GetAddOnMetadata, GetNumAddOns = C_AddOns.GetAddOnEnableState, C_AddOns.GetAddOnInfo, C_AddOns.GetAddOnMetadata, C_AddOns.GetNumAddOns
|
|
local UnitName, GetRealmName, UnitClass, UnitFactionGroup = UnitName, GetRealmName, UnitClass, UnitFactionGroup
|
|
|
|
local UIParent, CreateFrame = UIParent, CreateFrame
|
|
local LibStub = _G.LibStub
|
|
|
|
local AddOnName, Engine = ...
|
|
local AS, _ = LibStub('AceAddon-3.0'):NewAddon('AddOnSkins', 'AceConsole-3.0', 'AceEvent-3.0', 'AceHook-3.0', 'AceTimer-3.0')
|
|
|
|
AS.EmbedSystem = AS:NewModule('EmbedSystem', 'AceEvent-3.0', 'AceHook-3.0')
|
|
AS.Skins = AS:NewModule('Skins', 'AceTimer-3.0', 'AceHook-3.0', 'AceEvent-3.0')
|
|
|
|
_G.AddOnSkins, Engine[1], Engine[2], Engine[3], Engine[4], _G.AddOnSkinsDS = Engine, AS, {}, AS.Skins, {}, {}
|
|
|
|
AS.Retail, AS.Classic, AS.TBC, AS.Wrath = WOW_PROJECT_ID == WOW_PROJECT_MAINLINE, WOW_PROJECT_ID == WOW_PROJECT_CLASSIC, WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASSIC, WOW_PROJECT_ID == WOW_PROJECT_WRATH_CLASSIC
|
|
|
|
AS.Libs = {
|
|
AC = LibStub('AceConfig-3.0'),
|
|
ACD = LibStub('AceConfigDialog-3.0-ElvUI', true) or LibStub('AceConfigDialog-3.0'),
|
|
ACH = LibStub('LibAceConfigHelper'),
|
|
ADB = LibStub('AceDB-3.0'),
|
|
ADBO = LibStub('AceDBOptions-3.0'),
|
|
ACL = LibStub("AceLocale-3.0-ElvUI", true) or LibStub("AceLocale-3.0"),
|
|
EP = LibStub('LibElvUIPlugin-1.0', true),
|
|
ACR = LibStub('AceConfigRegistry-3.0'),
|
|
GUI = LibStub('AceGUI-3.0'),
|
|
LCG = LibStub('LibCustomGlow-1.0', true),
|
|
LSM = LibStub('LibSharedMedia-3.0', true),
|
|
}
|
|
|
|
AS.Title = GetAddOnMetadata(AddOnName, 'Title')
|
|
AS.Version = tonumber(GetAddOnMetadata(AddOnName, 'Version'))
|
|
AS.Authors = GetAddOnMetadata(AddOnName, 'Author'):gsub(", ", " ")
|
|
AS.ProperVersion = format('%.2f', AS.Version)
|
|
AS.TicketTracker = 'https://github.com/Azilroka/AddOnSkins/issues'
|
|
_, AS.MyClass = UnitClass('player')
|
|
AS.MyName = UnitName('player')
|
|
AS.MyRealm = GetRealmName()
|
|
AS.Noop = function() end
|
|
AS.TexCoords = { .08, .92, .08, .92 }
|
|
AS.Faction = UnitFactionGroup('player')
|
|
|
|
AS.preload = {}
|
|
AS.skins = {}
|
|
AS.events = {}
|
|
AS.FrameLocks = {}
|
|
|
|
AS.AddOns = {}
|
|
AS.AddOnVersion = {}
|
|
|
|
for i = 1, GetNumAddOns() do
|
|
local Name, _, _, _, Reason = GetAddOnInfo(i)
|
|
AS.AddOns[strlower(Name)] = GetAddOnEnableState(Name, AS.MyName) == 2 and (not Reason or Reason ~= 'DEMAND_LOADED')
|
|
AS.AddOnVersion[strlower(Name)] = GetAddOnMetadata(Name, 'Version')
|
|
end
|
|
|
|
AS.Hider = CreateFrame('Frame', nil, UIParent)
|
|
AS.Hider:Hide()
|
|
|