режим предателя + UI референсы и DragonUI
This commit is contained in:
@@ -0,0 +1,171 @@
|
||||
|
||||
function BagSlotButton_UpdateChecked(self)
|
||||
local translatedID = self:GetID() - CharacterBag0Slot:GetID() + 1;
|
||||
local isVisible = 0;
|
||||
local frame;
|
||||
for i=1, NUM_CONTAINER_FRAMES, 1 do
|
||||
frame = _G["ContainerFrame"..i];
|
||||
if ( (frame:GetID() == translatedID) and frame:IsShown() ) then
|
||||
isVisible = 1;
|
||||
break;
|
||||
end
|
||||
end
|
||||
self:SetChecked(isVisible);
|
||||
end
|
||||
|
||||
function BagSlotButton_OnClick(self)
|
||||
local id = self:GetID();
|
||||
local translatedID = id - CharacterBag0Slot:GetID() + 1;
|
||||
local hadItem = PutItemInBag(id);
|
||||
if ( not hadItem ) then
|
||||
ToggleBag(translatedID);
|
||||
end
|
||||
BagSlotButton_UpdateChecked(self);
|
||||
end
|
||||
|
||||
function BagSlotButton_OnModifiedClick(self)
|
||||
if ( IsModifiedClick("OPENALLBAGS") ) then
|
||||
if ( GetInventoryItemTexture("player", self:GetID()) ) then
|
||||
OpenAllBags();
|
||||
end
|
||||
end
|
||||
BagSlotButton_UpdateChecked(self);
|
||||
end
|
||||
|
||||
function BagSlotButton_OnDrag(self)
|
||||
PickupBagFromSlot(self:GetID());
|
||||
BagSlotButton_UpdateChecked(self);
|
||||
end
|
||||
|
||||
function BackpackButton_UpdateChecked(self)
|
||||
local isVisible = 0;
|
||||
for i=1, NUM_CONTAINER_FRAMES, 1 do
|
||||
local frame = _G["ContainerFrame"..i];
|
||||
if ( (frame:GetID() == 0) and frame:IsShown() ) then
|
||||
isVisible = 1;
|
||||
break;
|
||||
end
|
||||
end
|
||||
self:SetChecked(isVisible);
|
||||
end
|
||||
|
||||
function BackpackButton_OnClick(self)
|
||||
if ( not PutItemInBackpack() ) then
|
||||
ToggleBackpack();
|
||||
end
|
||||
BackpackButton_UpdateChecked(self);
|
||||
end
|
||||
|
||||
function BackpackButton_OnModifiedClick(self)
|
||||
if ( IsModifiedClick("OPENALLBAGS") ) then
|
||||
OpenAllBags();
|
||||
end
|
||||
BackpackButton_UpdateChecked(self);
|
||||
end
|
||||
|
||||
function ItemAnim_OnLoad(self)
|
||||
self:RegisterEvent("ITEM_PUSH");
|
||||
end
|
||||
|
||||
function ItemAnim_OnEvent(self, event, ...)
|
||||
if ( event == "ITEM_PUSH" ) then
|
||||
local arg1, arg2 = ...;
|
||||
local id = self:GetParent():GetID();
|
||||
if ( id == arg1 ) then
|
||||
self:ReplaceIconTexture(arg2);
|
||||
self:SetSequence(0);
|
||||
self:SetSequenceTime(0, 0);
|
||||
self:Show();
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function BagSlotButton_OnEnter(self)
|
||||
GameTooltip:SetOwner(self, "ANCHOR_LEFT");
|
||||
if ( GameTooltip:SetInventoryItem("player", self:GetID()) ) then
|
||||
local bindingKey = GetBindingKey("TOGGLEBAG"..(4 - (self:GetID() - CharacterBag0Slot:GetID())));
|
||||
if ( bindingKey ) then
|
||||
GameTooltip:AppendText(" "..NORMAL_FONT_COLOR_CODE.."("..bindingKey..")"..FONT_COLOR_CODE_CLOSE);
|
||||
end
|
||||
else
|
||||
GameTooltip:SetText(EQUIP_CONTAINER, 1.0, 1.0, 1.0);
|
||||
end
|
||||
end
|
||||
|
||||
function ItemAnim_OnAnimFinished(self)
|
||||
self:Hide();
|
||||
end
|
||||
|
||||
function Disable_BagButtons()
|
||||
MainMenuBarBackpackButton:Disable();
|
||||
SetDesaturation(MainMenuBarBackpackButtonIconTexture, 1);
|
||||
CharacterBag0Slot:Disable();
|
||||
SetDesaturation(CharacterBag0SlotIconTexture, 1);
|
||||
CharacterBag1Slot:Disable();
|
||||
SetDesaturation(CharacterBag1SlotIconTexture, 1);
|
||||
CharacterBag2Slot:Disable();
|
||||
SetDesaturation(CharacterBag2SlotIconTexture, 1);
|
||||
CharacterBag3Slot:Disable();
|
||||
SetDesaturation(CharacterBag3SlotIconTexture, 1);
|
||||
end
|
||||
|
||||
function Enable_BagButtons()
|
||||
MainMenuBarBackpackButton:Enable();
|
||||
SetDesaturation(MainMenuBarBackpackButtonIconTexture, nil);
|
||||
CharacterBag0Slot:Enable();
|
||||
SetDesaturation(CharacterBag0SlotIconTexture, nil);
|
||||
CharacterBag1Slot:Enable();
|
||||
SetDesaturation(CharacterBag1SlotIconTexture, nil);
|
||||
CharacterBag2Slot:Enable();
|
||||
SetDesaturation(CharacterBag2SlotIconTexture, nil);
|
||||
CharacterBag3Slot:Enable();
|
||||
SetDesaturation(CharacterBag3SlotIconTexture, nil);
|
||||
end
|
||||
|
||||
function MainMenuBarBackpackButton_OnEvent(self, event, ...)
|
||||
if ( event == "BAG_UPDATE" ) then
|
||||
local bag = ...;
|
||||
if ( bag >= BACKPACK_CONTAINER and bag <= NUM_BAG_SLOTS ) then
|
||||
MainMenuBarBackpackButton_UpdateFreeSlots();
|
||||
end
|
||||
elseif ( event == "PLAYER_ENTERING_WORLD" ) then
|
||||
if ( GetCVar("displayFreeBagSlots") == "1" ) then
|
||||
MainMenuBarBackpackButtonCount:Show();
|
||||
else
|
||||
MainMenuBarBackpackButtonCount:Hide();
|
||||
end
|
||||
MainMenuBarBackpackButton_UpdateFreeSlots();
|
||||
elseif ( event == "CVAR_UPDATE" ) then
|
||||
local cvar, value = ...
|
||||
if ( cvar == "DISPLAY_FREE_BAG_SLOTS" ) then
|
||||
if ( value == "1" ) then
|
||||
MainMenuBarBackpackButtonCount:Show();
|
||||
else
|
||||
MainMenuBarBackpackButtonCount:Hide();
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local BACKPACK_FREESLOTS_FORMAT = "(%s)";
|
||||
|
||||
function MainMenuBarBackpackButton_UpdateFreeSlots()
|
||||
local totalFree, freeSlots, bagFamily = 0;
|
||||
for i = BACKPACK_CONTAINER, NUM_BAG_SLOTS do
|
||||
freeSlots, bagFamily = GetContainerNumFreeSlots(i);
|
||||
if ( bagFamily == 0 ) then
|
||||
totalFree = totalFree + freeSlots;
|
||||
end
|
||||
end
|
||||
|
||||
if ( totalFree == 3) then
|
||||
TriggerTutorial(59);
|
||||
end
|
||||
if ( totalFree == 0) then
|
||||
TriggerTutorial(58);
|
||||
end
|
||||
|
||||
MainMenuBarBackpackButton.freeSlots = totalFree;
|
||||
|
||||
MainMenuBarBackpackButtonCount:SetText(string.format(BACKPACK_FREESLOTS_FORMAT, totalFree));
|
||||
end
|
||||
Reference in New Issue
Block a user