WoWInterface SVN oUF_Smee2

[/] [trunk/] [oUF/] [elements/] [ricons.lua] - Rev 4

Compare with Previous | Blame | View Log

local parent = debugstack():match[[\AddOns\(.-)\]]
local global = GetAddOnMetadata(parent, 'X-oUF')
assert(global, 'X-oUF needs to be defined in the parent add-on.')
local oUF = _G[global]

local GetRaidTargetIndex = GetRaidTargetIndex
local SetRaidTargetIconTexture = SetRaidTargetIconTexture

local Update = function(self, event)
        local index = GetRaidTargetIndex(self.unit)
        local icon = self.RaidIcon

        if(index) then
                SetRaidTargetIconTexture(icon, index)
                icon:Show()
        else
                icon:Hide()
        end
end

local Enable = function(self)
        local ricon = self.RaidIcon
        if(ricon) then
                self:RegisterEvent("RAID_TARGET_UPDATE", Update)

                if(ricon:IsObjectType"Texture" and not ricon:GetTexture()) then
                        ricon:SetTexture[[Interface\TargetingFrame\UI-RaidTargetingIcons]]
                end

                return true
        end
end

local Disable = function(self)
        local ricon = self.RaidIcon
        if(ricon) then
                self:UnregisterEvent("RAID_TARGET_UPDATE", Update)
        end
end

oUF:AddElement('RaidIcon', Update, Enable, Disable)

Compare with Previous | Blame