From b9df82e92836515bc9e3fe8985fefe4069eedbf9 Mon Sep 17 00:00:00 2001 From: Darthpred Date: Fri, 11 Jul 2014 20:47:19 +0400 Subject: [PATCH] New core --- ElvUI_SLE/core/core.lua | 84 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 ElvUI_SLE/core/core.lua diff --git a/ElvUI_SLE/core/core.lua b/ElvUI_SLE/core/core.lua new file mode 100644 index 0000000..1f5d75c --- /dev/null +++ b/ElvUI_SLE/core/core.lua @@ -0,0 +1,84 @@ +local E, L, V, P, G, _ = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB, Localize Underscore +-- local SLE = E:NewModule("SLE", 'AceHook-3.0', 'AceEvent-3.0') +local SLE = E:GetModule('SLE') +local EP = LibStub("LibElvUIPlugin-1.0") +local UF = E:GetModule('UnitFrames') +local addon = ... + +--localizing functions-- +local IsInInstance = IsInInstance +local tinsert = tinsert + +SLE.version = GetAddOnMetadata("ElvUI_SLE", "Version") +local elvV = tonumber(E.version) +local elvR = tonumber(GetAddOnMetadata("ElvUI_SLE", "X-ElvVersion")) +E.SLEConfigs = {} + +function SLE:MismatchText() + Vtext = format(L['MSG_OUTDATED'],elvV,elvR) + return Vtext +end + +local function AddTutorials() --Additional tutorials + tinsert(E.TutorialList, #(E.TutorialList)+1, L["To enable full values of health/power on unitframes in Shadow & Light add \":sl\" to the end of the health/power tag.\nExample: [health:current:sl]."]); +end + +local function ConfigCats() --Additional mover groups + tinsert(E.ConfigModeLayouts, #(E.ConfigModeLayouts)+1, "S&L"); + E.ConfigModeLocalizedStrings["S&L"] = L["S&L: All"] + tinsert(E.ConfigModeLayouts, #(E.ConfigModeLayouts)+1, "S&L DT"); + E.ConfigModeLocalizedStrings["S&L DT"] = L["S&L: Datatexts"] + if E.private.sle.backgrounds then + tinsert(E.ConfigModeLayouts, #(E.ConfigModeLayouts)+1, "S&L BG"); + E.ConfigModeLocalizedStrings["S&L BG"] = L["S&L: Backgrounds"] + end + tinsert(E.ConfigModeLayouts, #(E.ConfigModeLayouts)+1, "S&L MISC"); + E.ConfigModeLocalizedStrings["S&L MISC"] = L["S&L: Misc"] +end + +local function GetOptions() + for _, func in pairs(E.SLEConfigs) do + func() + end +end + +local function IncompatibleAddOn(addon, module, optiontable, value) + E.PopupDialogs['SLE_INCOMPATIBLE_ADDON'].button1 = addon + E.PopupDialogs['SLE_INCOMPATIBLE_ADDON'].button2 = 'S&L: '..module + E.PopupDialogs['SLE_INCOMPATIBLE_ADDON'].addon = addon + E.PopupDialogs['SLE_INCOMPATIBLE_ADDON'].module = module + E.PopupDialogs['SLE_INCOMPATIBLE_ADDON'].optiontable = optiontable + E.PopupDialogs['SLE_INCOMPATIBLE_ADDON'].value = value + E.PopupDialogs['SLE_INCOMPATIBLE_ADDON'].showAlert = true + E:StaticPopup_Show('SLE_INCOMPATIBLE_ADDON', addon, module) +end + +local function CheckIncompatible() + if IsAddOnLoaded('ElvUI_Enhanced') and not E.global.ignoreEnhancedIncompatible then + E:StaticPopup_Show('ENHANCED_SLE_INCOMPATIBLE') + end + if IsAddOnLoaded('SquareMinimapButtons') and E.private.sle.minimap.mapicons.enable then + IncompatibleAddOn('SquareMinimapButtons', 'SquareMinimapButtons', E.private.sle.minimap.mapicons, "enable") + end +end + +function SLE:Initialize() + --ElvUI's version check + if elvV < elvR then + E:StaticPopup_Show("VERSION_MISMATCH") + end + EP:RegisterPlugin(addon, GetOptions) + if E.private.unitframe.enable then + self:RegisterEvent("PLAYER_REGEN_DISABLED", UF.Update_CombatIndicator); + end + if E.db.general.loginmessage then + print(format(L['SLE_LOGIN_MSG'], E["media"].hexvaluecolor, SLE.version)) + end + E:GetModule('SLE_DTPanels'):DashboardShow() + AddTutorials() + ConfigCats() + SLE:RegisterCommands() + CheckIncompatible() +end + +-- E:RegisterModule(SLE:GetName()) \ No newline at end of file -- 1.7.9.5