vanilla-wow-addons – Rev 1
?pathlinks?
--[[
Bagnon
Displays the player's inventory in a single frame
--]]
local bBagSlotButton_OnEnter, bMainBag_OnEnter, bKeyRingButton_OnEnter;
local bBagSlotButton_OnClick, bKeyRingButton_OnClick, bMainBag_OnClick;
--[[ Loading Functions ]]--
function Bagnon_OnLoad()
this:RegisterEvent("ADDON_LOADED");
end
--[[ Event Handler ]]--
function Bagnon_OnEvent(event)
if ( event == "ADDON_LOADED" and arg1 == "Bagnon") then
Bagnon:UnregisterEvent("ADDON_LOADED");
Bagnon_Load();
end
end
function Bagnon_Load()
BagnonFrame_Load(Bagnon, {-2, 0, 1, 2, 3, 4}, BAGNON_INVENTORY_TITLE);
Bagnon_AddBagHooks();
end
--[[ UI Functions ]]--
--OnShow
function Bagnon_OnShow()
MainMenuBarBackpackButton:SetChecked(1);
PlaySound("igBackPackOpen");
end
--OnHide
function Bagnon_OnHide()
MainMenuBarBackpackButton:SetChecked(0);
PlaySound("igBackPackClose");
end
--Show Bags
function Bagnon_ToggleBags()
if( not BagnonBags:IsShown() ) then
BagnonBags:Show();
BagnonSets["Bagnon"].bagsShown = 1;
this:SetText(BAGNON_HIDEBAGS);
else
BagnonBags:Hide();
BagnonSets["Bagnon"].bagsShown = nil;
this:SetText(BAGNON_SHOWBAGS);
end
BagnonFrame_TrimToSize(Bagnon);
end
--[[ Bag Overrides ]]--
function Bagnon_AddBagHooks()
bMainBag_OnEnter = MainMenuBarBackpackButton:GetScript("OnEnter");
bMainBag_OnClick = MainMenuBarBackpackButton:GetScript("OnClick");
MainMenuBarBackpackButton:SetScript("OnEnter", BagnonBlizMainBag_OnEnter);
MainMenuBarBackpackButton:SetScript("OnLeave", BagnonBlizBag_OnLeave);
MainMenuBarBackpackButton:SetScript("OnClick", BagnonBlizMainBag_OnClick);
bBagSlotButton_OnEnter = BagSlotButton_OnEnter;
BagSlotButton_OnEnter = BagnonBlizBag_OnEnter;
bBagSlotButton_OnClick = getglobal("CharacterBag0Slot"):GetScript("OnClick");
for i = 0, 3 do
getglobal("CharacterBag" .. i .. "Slot"):SetScript("OnLeave", BagnonBlizBag_OnLeave);
getglobal("CharacterBag" .. i .. "Slot"):SetScript("OnClick", BagnonBlizBag_OnClick);
end
bKeyRingButton_OnEnter = KeyRingButton:GetScript("OnEnter");
bKeyRingButton_OnClick = KeyRingButton:GetScript("OnClick");
KeyRingButton:SetScript("OnEnter", BagnonBlizKeyRing_OnEnter);
KeyRingButton:SetScript("OnLeave", BagnonBlizBag_OnLeave);
KeyRingButton:SetScript("OnClick", BagnonBlizKeyRing_OnClick);
end
--Main Bag
function BagnonBlizMainBag_OnEnter()
if( Bagnon:IsShown() ) then
BagnonFrame_HighlightSlots(Bagnon, this:GetID());
end
bMainBag_OnEnter();
end
function BagnonBlizMainBag_OnClick()
if( IsShiftKeyDown() ) then
BagnonFrame_ToggleBag(Bagnon, this:GetID());
else
bMainBag_OnClick();
end
end
--Normal Bags
function BagnonBlizBag_OnEnter()
if(Bagnon:IsShown() ) then
BagnonFrame_HighlightSlots(Bagnon, this:GetID() - 19);
end
bBagSlotButton_OnEnter();
end
function BagnonBlizBag_OnClick()
if( IsShiftKeyDown() ) then
BagnonFrame_ToggleBag(Bagnon, this:GetID() - 19);
else
bBagSlotButton_OnClick();
end
end
function BagnonBlizBag_OnLeave()
GameTooltip:Hide();
BagnonFrame_UnhighlightAll(Bagnon);
end
--KeyRing
function BagnonBlizKeyRing_OnEnter()
if(Bagnon:IsShown() ) then
BagnonFrame_HighlightSlots(Bagnon, this:GetID());
end
bKeyRingButton_OnEnter();
end
function BagnonBlizKeyRing_OnClick()
if( IsShiftKeyDown() ) then
BagnonFrame_ToggleBag(Bagnon, this:GetID());
else
bKeyRingButton_OnClick();
end
end
Generated by GNU Enscript 1.6.5.90.