vanilla-wow-addons – Rev 1
?pathlinks?
local locals = KC_ITEMS_LOCALS.modules.optimizer
KC_Optimizer = KC_ItemsModule:new({
type = "optimizer",
name = locals.name,
desc = locals.description,
cmdOptions = locals.chat,
dependencies = {"common"},
dataPath = {"optimizer"},
optPath = {"optimizer", "options"},
})
KC_Items:Register(KC_Optimizer)
function KC_Optimizer:Enable()
local version = KC_ItemsVersion or self:GetOpt(self.dataPath, "version") or 0
if (version == ".94.2") then
self:Msg(format(locals.msg.upgrade, version))
self:Msg(locals.msg.complete)
elseif (version == ".94.1") then
self:Msg(format(locals.msg.upgrade, version))
self:UpgradeDB()
self:Msg(locals.msg.complete)
elseif (version ~= self.app.version) then
self:Msg(format(locals.msg.upgrade, locals.msg.unknown))
self:UpgradeDB()
self:Msg(locals.msg.complete)
end
self:ClearOpt(self.dataPath, "version")
KC_ItemsVersion = self.app.version
if (not StopTheLagness) then
self:Hook("ContainerFrameItemButton_OnEnter", "CFIB_OnEnter")
ContainerFrameItemButton_OnUpdate = KC_Optimizer.CFIB_OnUpdate
self:HookScript(GameTooltip, "OnHide", "GameTooltipOnHide")
end
end
function KC_Optimizer:UpgradeDB()
self.app.db:set("stats", "0,0,0,0,0,0")
self.app.db:set("v")
for i,v in KC_ItemsDB do
if (strfind(i, ":")) then
self.common:AddCode(i, self.common:Split(v, ":"))
KC_ItemsDB[i] = nil;
elseif (type(i) == "string") then
KC_ItemsDB[i] = nil;
end
end
self.common:RebuildStats()
end
function KC_Optimizer:ImportMasterDB()
self.app.db:set("stats", "0,0,0,0,0,0")
self.app.db:set("v")
local KC_MasterDB = self:GetMasterDB()
for i,v in KC_MasterDB do
if (strfind(i, ":")) then
self.common:AddCode(i, self.common:Split(v, ":"))
else
local list, sell, buy = self.common:Explode(v, ",")
local codes = self.common:GetCodes(i, list)
for i2,v2 in codes do
self.common:AddCode(v2, sell, buy)
end
end
KC_MasterDB[i] = nil
end
self.common:RebuildStats()
end
--killing the lag one step at a time. Borrowed from StopTheLagness
function KC_Optimizer:CFIB_OnEnter(button)
button = button or this
self.currentBtn = button
self.currentBtn._hasCooldown = GameTooltip:SetBagItem(button:GetParent():GetID(),button:GetID())
self:CallHook("ContainerFrameItemButton_OnEnter", button)
end
function KC_Optimizer:GameTooltipOnHide()
self.elapsed = 0
self:CallScript(GameTooltip, "OnHide");
end
function KC_Optimizer.CFIB_OnUpdate()
if( (this ~= KC_Optimizer.currentBtn) or (not KC_Optimizer.currentBtn) or (not KC_Optimizer.currentBtn._hasCooldown) ) then return end
KC_Optimizer.elapsed = KC_Optimizer.elapsed + arg1
if( KC_Optimizer.elapsed >= 1 ) then
KC_Optimizer.elapsed = 0
KC_Optimizer:CFIB_OnEnter(KC_Optimizer.currentBtn)
end
end
Generated by GNU Enscript 1.6.5.90.