Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.86 KB | None | 0 0
  1. --[[
  2. LuiExtended
  3. License: The MIT License (MIT)
  4. --]]
  5.  
  6. local strformat = zo_strformat
  7. local eventManager = EVENT_MANAGER
  8.  
  9. -- Load saved settings
  10. local function LoadSavedVars()
  11. -- Addon options
  12. LUIE.SV = ZO_SavedVars:NewAccountWide(LUIE.SVName, LUIE.SVVer, nil, LUIE.D)
  13.  
  14. if LUIE.SV.CharacterSpecificSV then
  15. LUIE.SV = ZO_SavedVars:New(LUIE.SVName, LUIE.SVVer, nil, LUIE.D)
  16. end
  17. end
  18.  
  19. -- Load additional fonts and status bar textures from LMP
  20. local function LoadMedia()
  21. local LMP = LibStub("LibMediaProvider-1.0")
  22.  
  23. -- Update Fonts
  24. for _, f in pairs(LMP:List(LMP.MediaType.FONT)) do
  25. if not LUIE.Fonts[f] then
  26. LUIE.Fonts[f] = LMP:Fetch(LMP.MediaType.FONT, f)
  27. end
  28. end
  29.  
  30. -- Update StatusBar textures
  31. for _, s in pairs(LMP:List(LMP.MediaType.STATUSBAR)) do
  32. if not LUIE.StatusbarTextures[s] then
  33. LUIE.StatusbarTextures[s] = LMP:Fetch(LMP.MediaType.STATUSBAR, s)
  34. end
  35. end
  36.  
  37. for _, a in pairs(LMP:List(LMP.MediaType.SOUND)) do
  38. if not LUIE.StatusbarTextures[a] then
  39. LUIE.Sounds[a] = LMP:Fetch(LMP.MediaType.SOUND, a)
  40. end
  41. end
  42. end
  43.  
  44. -- Startup Info string
  45. local function LoadScreen()
  46. eventManager:UnregisterForEvent(LUIE.name, EVENT_PLAYER_ACTIVATED)
  47.  
  48. if not LUIE.SV.StartupInfo then
  49. LUIE.PrintToChat(strformat("|cFEFEFE<<1>> by|r |c00C000<<2>>|r |cFEFEFEv<<3>>|r", LUIE.name, LUIE.author, LUIE.version), true)
  50. end
  51. end
  52.  
  53. local function RegisterEvents()
  54. eventManager:RegisterForEvent(LUIE.name, EVENT_PLAYER_ACTIVATED, LoadScreen)
  55. -- Keep track of guilds for the /ginvite commands & Chat Announcement EVENT_GUILD_SELF_LEFT_GUILD handler
  56. if LUIE.SV.SlashCommands_Enable or LUIE.SV.ChatAnnouncements_Enable then
  57. LUIE.UpdateGuildData()
  58. eventManager:RegisterForEvent(moduleName, EVENT_GUILD_SELF_JOINED_GUILD, LUIE.UpdateGuildData)
  59. eventManager:RegisterForEvent(moduleName, EVENT_GUILD_SELF_LEFT_GUILD, LUIE.UpdateGuildData)
  60. end
  61. end
  62.  
  63. -- LuiExtended Initialization
  64. local function OnAddonOnLoaded(eventCode, addonName)
  65. -- Only initialize our own addon
  66. if LUIE.name ~= addonName then
  67. return
  68. end
  69. -- Once we know it's ours, lets unregister the event listener
  70. eventManager:UnregisterForEvent(addonName, eventCode)
  71.  
  72. -- Load additional media from LMP and other addons
  73. LoadMedia()
  74.  
  75. -- Load saved variables
  76. LoadSavedVars()
  77.  
  78. -- Initialize Hooks
  79. LUIE.InitializeHooks()
  80.  
  81. LUIE.PlayerNameRaw = GetRawUnitName("player")
  82. LUIE.PlayerNameFormatted = strformat(SI_UNIT_NAME, GetUnitName("player"))
  83. LUIE.PlayerDisplayName = strformat(SI_UNIT_NAME, GetUnitDisplayName("player"))
  84.  
  85. -- Initialize this addon modules according to user preferences
  86. LUIE.ChatAnnouncements.Initialize(LUIE.SV.ChatAnnouncements_Disnabled)
  87. LUIE.CombatInfo.Initialize(LUIE.SV.CombatInfo_Enabled)
  88. LUIE.CombatText.Initialize(LUIE.SV.CombatText_Enabled)
  89. LUIE.InfoPanel.Initialize(LUIE.SV.InfoPanel_Enabled)
  90. LUIE.UnitFrames.Initialize(LUIE.SV.UnitFrames_Enabled)
  91. LUIE.SpellCastBuffs.Initialize(LUIE.SV.SpellCastBuff_Enable)
  92. LUIE.SlashCommands.Initialize(LUIE.SV.SlashCommands_Enable)
  93.  
  94. -- Load Timetamp Color
  95. LUIE.UpdateTimeStampColor()
  96.  
  97. -- Create settings menus for our addon
  98. LUIE.CreateSettings()
  99. LUIE.ChatAnnouncements.CreateSettings()
  100. LUIE.CombatInfo.CreateSettings()
  101. LUIE.CombatText.CreateSettings()
  102. LUIE.InfoPanel.CreateSettings()
  103. LUIE.UnitFrames.CreateSettings()
  104. LUIE.SpellCastBuffs.CreateSettings()
  105. LUIE.SlashCommands.CreateSettings()
  106.  
  107. -- Display changelog screen
  108. LUIE.ChangelogScreen()
  109.  
  110. -- Register global event listeners
  111. RegisterEvents()
  112. end
  113.  
  114. -- Hook initialization
  115. eventManager:RegisterForEvent(LUIE.name, EVENT_ADD_ON_LOADED, OnAddonOnLoaded)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement