From cb75a3e71a373f521d01bd60b0e1b514102cef42 Mon Sep 17 00:00:00 2001 From: shagu Date: Sun, 24 Sep 2017 20:21:03 +0200 Subject: [PATCH] api: reorder loading sequence --- api/api.lua | 3 ++- pfUI.lua | 28 +++++++++++++--------------- pfUI.toc | 10 +++++----- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/api/api.lua b/api/api.lua index abf17d09..ee3bb4ae 100644 --- a/api/api.lua +++ b/api/api.lua @@ -1,6 +1,7 @@ pfUI.api = { } + local _G = getfenv(0) -local T, C, L = pfUI.env.T, pfUI.env.C, pfUI.env.L +local T, C, L = pfUI:LoadEnvironment() -- [ strsplit ] -- Splits a string using a delimiter. diff --git a/pfUI.lua b/pfUI.lua index 98f7c9e3..3522226a 100644 --- a/pfUI.lua +++ b/pfUI.lua @@ -17,7 +17,7 @@ function SlashCmdList.GM(msg, editbox) ToggleHelpFrame(1) end -pfUI = CreateFrame("Frame",nil,UIParent) +pfUI = CreateFrame("Frame", nil, UIParent) pfUI:RegisterEvent("ADDON_LOADED") -- initialize default variables @@ -35,8 +35,18 @@ pfUI_config = {} pfUI_locale = {} pfUI_translation = {} -pfUI:SetScript("OnEvent", function() +function pfUI:LoadEnvironment() + local lang = pfUI_config.global and pfUI_translation[pfUI_config.global.language] and pfUI_config.global.language or GetLocale() + local T = setmetatable(pfUI_translation[lang] or {}, { __index = function(tab,key) + local value = tostring(key) + rawset(tab,key,value) + return value + end}) + return T, pfUI_config, (pfUI_locale[GetLocale()] or pfUI_locale["enUS"]) +end + +pfUI:SetScript("OnEvent", function() -- some addons overwrite color and font settings -- need to enforce pfUI's selection every time pfUI.environment:UpdateFonts() @@ -74,19 +84,7 @@ pfUI:SetScript("OnEvent", function() end pfUI.env._G = getfenv(0) - pfUI.env.C = pfUI_config - pfUI.env.L = pfUI_locale[GetLocale()] or pfUI_locale["enUS"] - - local language = GetLocale() - if pfUI_config.global.language and pfUI_translation[pfUI_config.global.language] then - language = pfUI_config.global.language - end - - pfUI.env.T = setmetatable(pfUI_translation[language] or {}, { __index = function(tab,key) - local value = tostring(key) - rawset(tab,key,value) - return value - end}) + pfUI.env.T, pfUI.env.C, pfUI.env.L = pfUI:LoadEnvironment() for i,m in pairs(this.modules) do -- do not load disabled modules diff --git a/pfUI.toc b/pfUI.toc index 15f63ccc..319605f7 100644 --- a/pfUI.toc +++ b/pfUI.toc @@ -9,11 +9,6 @@ # main pfUI.lua -# api -api\api.lua -api\config.lua -api\unitframes.lua - # locales env\locales_enUS.lua env\locales_koKR.lua @@ -33,6 +28,11 @@ env\translations_zhTW.lua env\translations_esES.lua env\translations_ruRU.lua +# api +api\api.lua +api\config.lua +api\unitframes.lua + # environment env\tables.lua env\colors.lua