Quantcast

-- 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)