WoWInterface SVN idExperience

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /trunk
    from Rev 6 to Rev 7
    Reverse comparison

Rev 6 → Rev 7

Addon.lua
27,8 → 27,11
POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------]]
 
local frame = CreateFrame('Frame')
local _G = _G
local addon = {}
 
addon.eventframe = CreateFrame('Frame')
 
local TL, TC, TR = 'TOPLEFT', 'TOP', 'TOPRIGHT'
local ML, MC, MR = 'LEFT', 'CENTER', 'RIGHT'
local BL, BC, BR = 'BOTTOMLEFT', 'BOTTOM', 'BOTTOMRIGHT'
38,11 → 41,11
local RepetitionsNeeded
local ExperienceRested
 
local function getExperienceLeft ()
function addon:getExperienceLeft ()
return UnitXPMax('player') - UnitXP('player')
end
 
local function print ()
function addon:Print ()
local rested = GetXPExhaustion()
if rested then
UIErrorsFrame:AddMessage(('%s / %s = %s (%s %s%%)'):format(ExperienceLeft, ExperienceGain, RepetitionsNeeded, rested, math.floor(rested*100/ExperienceLeft)))
51,46 → 54,37
end
end
 
local function PLAYER_XP_UPDATE ()
ExperienceGain = ExperienceLeft - getExperienceLeft()
ExperienceLeft = getExperienceLeft()
function addon:PLAYER_XP_UPDATE ()
ExperienceGain = ExperienceLeft - self:getExperienceLeft()
ExperienceLeft = self:getExperienceLeft()
RepetitionsNeeded = math.ceil(ExperienceLeft / ExperienceGain)
print()
self:Print()
end
 
local function PLAYER_LEVEL_UP ()
ExperienceLeft = getExperienceLeft()
function addon:PLAYER_LEVEL_UP ()
ExperienceLeft = self:getExperienceLeft()
ExperienceGain = 0
RepetitionsNeeded = 0
end
 
local function ADDON_LOADED (name)
if name ~= 'idExperience' then return end
ExperienceLeft = getExperienceLeft()
ExperienceGain = 0
RepetitionsNeeded = 0
end
 
local function PLAYER_LOGIN ()
SlashCmdList['ZEXPERIENCE_PRINTXP'] = print
SLASH_ZEXPERIENCE_PRINTXP1 = '/xp'
end
 
local function OnEvent (frame, event, ...)
if event == 'ADDON_LOADED' then
ADDON_LOADED(...)
elseif event == 'PLAYER_LOGIN' then
PLAYER_LOGIN(...)
elseif event == 'PLAYER_XP_UPDATE' then
PLAYER_XP_UPDATE(...)
function addon.OnEvent (frame, event, ...)
if event == 'PLAYER_XP_UPDATE' then
addon:PLAYER_XP_UPDATE(...)
elseif event == 'PLAYER_LEVEL_UP' then
PLAYER_LEVEL_UP(...)
addon:PLAYER_LEVEL_UP(...)
end
end
 
frame:SetScript('OnEvent', OnEvent)
frame:RegisterEvent('ADDON_LOADED')
frame:RegisterEvent('PLAYER_LOGIN')
frame:RegisterEvent('PLAYER_XP_UPDATE')
frame:RegisterEvent('PLAYER_LEVEL_UP')
ExperienceLeft = addon:getExperienceLeft()
ExperienceGain = 0
RepetitionsNeeded = 0
 
SlashCmdList['IDEXPERIENCE_PRINTXP'] = addon:Print()
SLASH_IDEXPERIENCE_PRINTXP1 = '/xp'
 
addon.eventframe:SetScript('OnEvent', addon.OnEvent)
addon.eventframe:RegisterEvent('PLAYER_XP_UPDATE')
addon.eventframe:RegisterEvent('PLAYER_LEVEL_UP')
 
_G.idExperience = addon
 
idExperience.toc
1,5 → 1,10
## Interface: 20400
## Notes: Experience and kills left display
 
## LoadManagers: AddonLoader
## X-LoadOn-Events: PLAYER_XP_UPDATE, PLAYER_LEVEL
## X-LoadOn-PLAYER_XP_UPDATE: AddonLoader:LoadAddOn('idExperience') idExperience:PLAYER_XP_UPDATE()
## X-LoadOn-PLAYER_LEVEL: AddonLoader:LoadAddOn('idExperience') idExperience:PLAYER_LEVEL()
 
Addon.lua