-- Grab a copy of the local data local addonName, addonData = ... local Translate = addonData.Translate addonData.CreateFrames = function(self) local playerClass, fileClass = UnitClass("player"); if ( fileClass ~= "MAGE" ) then return end addonData.XMPFrame = addonData:CreateFrame() if ( addonData.XMPFrame ) then addonData.OptionsButton = addonData:CreateOptionsButton() addonData.OptionsMenu = addonData:CreateMenu() addonData.InfoPanel = addonData:CreateInfopanel() end end -- Update the Buttons with relevant changes addonData.UpdateButtons = function(self,frame) for i = 1,#self.PortalButtons do self:UpdateAlpha(self.PortalButtons[i]) self:UpdateCooldown(self.PortalButtons[i]) end for i = 1,#self.TeleportButtons do self:UpdateAlpha(self.TeleportButtons[i]) self:UpdateCooldown(self.TeleportButtons[i]) end end local function OnEvent(self,event,...) local arg1,arg2,arg3,arg4,arg5 = ... if ( event == "ADDON_LOADED" and arg1 == addonName ) then elseif ( event == "VARIABLES_LOADED" ) then addonData:CreateFrames(); elseif ( event == "PLAYER_ENTERING_WORLD") then if ( addonData.XMPFrame ) then addonData.XMPFrame:Show() else addonData:CreateFrames(); if ( addonData.XMPFrame ) then addonData.XMPFrame:Show() end end end end local XMPEventWatcher = CreateFrame("Frame","XMPEvents",UIParent) XMPEventWatcher:RegisterEvent("ADDON_LOADED") XMPEventWatcher:RegisterEvent("VARIABLES_LOADED") XMPEventWatcher:RegisterEvent("PLAYER_ENTERING_WORLD") XMPEventWatcher:SetScript("OnEvent",OnEvent)