режим предателя + UI референсы и DragonUI
This commit is contained in:
@@ -0,0 +1,185 @@
|
||||
function LoadMicroButtonTextures(self, name)
|
||||
self:RegisterForClicks("LeftButtonUp", "RightButtonUp");
|
||||
self:RegisterEvent("UPDATE_BINDINGS");
|
||||
local prefix = "Interface\\Buttons\\UI-MicroButton-";
|
||||
self:SetNormalTexture(prefix..name.."-Up");
|
||||
self:SetPushedTexture(prefix..name.."-Down");
|
||||
self:SetDisabledTexture(prefix..name.."-Disabled");
|
||||
self:SetHighlightTexture("Interface\\Buttons\\UI-MicroButton-Hilight");
|
||||
end
|
||||
|
||||
function MicroButtonTooltipText(text, action)
|
||||
if ( GetBindingKey(action) ) then
|
||||
return text.." "..NORMAL_FONT_COLOR_CODE.."("..GetBindingText(GetBindingKey(action), "KEY_")..")"..FONT_COLOR_CODE_CLOSE;
|
||||
else
|
||||
return text;
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function UpdateMicroButtons()
|
||||
local playerLevel = UnitLevel("player");
|
||||
if ( CharacterFrame:IsShown() ) then
|
||||
CharacterMicroButton:SetButtonState("PUSHED", 1);
|
||||
CharacterMicroButton_SetPushed();
|
||||
else
|
||||
CharacterMicroButton:SetButtonState("NORMAL");
|
||||
CharacterMicroButton_SetNormal();
|
||||
end
|
||||
|
||||
if ( SpellBookFrame:IsShown() ) then
|
||||
SpellbookMicroButton:SetButtonState("PUSHED", 1);
|
||||
else
|
||||
SpellbookMicroButton:SetButtonState("NORMAL");
|
||||
end
|
||||
|
||||
if ( PlayerTalentFrame and PlayerTalentFrame:IsShown() ) then
|
||||
TalentMicroButton:SetButtonState("PUSHED", 1);
|
||||
else
|
||||
if ( playerLevel < TalentMicroButton.minLevel ) then
|
||||
TalentMicroButton:Disable();
|
||||
else
|
||||
TalentMicroButton:Enable();
|
||||
TalentMicroButton:SetButtonState("NORMAL");
|
||||
end
|
||||
end
|
||||
|
||||
if ( QuestLogFrame:IsShown() ) then
|
||||
QuestLogMicroButton:SetButtonState("PUSHED", 1);
|
||||
else
|
||||
QuestLogMicroButton:SetButtonState("NORMAL");
|
||||
end
|
||||
|
||||
if ( ( GameMenuFrame:IsShown() )
|
||||
or ( InterfaceOptionsFrame:IsShown())
|
||||
or ( KeyBindingFrame and KeyBindingFrame:IsShown())
|
||||
or ( MacroFrame and MacroFrame:IsShown()) ) then
|
||||
MainMenuMicroButton:SetButtonState("PUSHED", 1);
|
||||
MainMenuMicroButton_SetPushed();
|
||||
else
|
||||
MainMenuMicroButton:SetButtonState("NORMAL");
|
||||
MainMenuMicroButton_SetNormal();
|
||||
end
|
||||
|
||||
if ( PVPParentFrame:IsShown() and (not PVPFrame_IsJustBG())) then
|
||||
PVPMicroButton:SetButtonState("PUSHED", 1);
|
||||
PVPMicroButton_SetPushed();
|
||||
else
|
||||
if ( playerLevel < PVPMicroButton.minLevel ) then
|
||||
PVPMicroButton:Disable();
|
||||
else
|
||||
PVPMicroButton:Enable();
|
||||
PVPMicroButton:SetButtonState("NORMAL");
|
||||
PVPMicroButton_SetNormal();
|
||||
end
|
||||
end
|
||||
|
||||
if ( FriendsFrame:IsShown() ) then
|
||||
SocialsMicroButton:SetButtonState("PUSHED", 1);
|
||||
else
|
||||
SocialsMicroButton:SetButtonState("NORMAL");
|
||||
end
|
||||
|
||||
if ( LFDParentFrame:IsShown() ) then
|
||||
LFDMicroButton:SetButtonState("PUSHED", 1);
|
||||
else
|
||||
if ( playerLevel < LFDMicroButton.minLevel ) then
|
||||
LFDMicroButton:Disable();
|
||||
else
|
||||
LFDMicroButton:Enable();
|
||||
LFDMicroButton:SetButtonState("NORMAL");
|
||||
end
|
||||
end
|
||||
|
||||
if ( HelpFrame:IsShown() ) then
|
||||
HelpMicroButton:SetButtonState("PUSHED", 1);
|
||||
else
|
||||
HelpMicroButton:SetButtonState("NORMAL");
|
||||
end
|
||||
|
||||
if ( AchievementFrame and AchievementFrame:IsShown() ) then
|
||||
AchievementMicroButton:SetButtonState("PUSHED", 1);
|
||||
else
|
||||
if ( HasCompletedAnyAchievement() and CanShowAchievementUI() ) then
|
||||
AchievementMicroButton:Enable();
|
||||
AchievementMicroButton:SetButtonState("NORMAL");
|
||||
else
|
||||
AchievementMicroButton:Disable();
|
||||
end
|
||||
end
|
||||
|
||||
-- Keyring microbutton
|
||||
if ( IsBagOpen(KEYRING_CONTAINER) ) then
|
||||
KeyRingButton:SetButtonState("PUSHED", 1);
|
||||
else
|
||||
KeyRingButton:SetButtonState("NORMAL");
|
||||
end
|
||||
end
|
||||
|
||||
function AchievementMicroButton_OnEvent(self, event, ...)
|
||||
if ( event == "UPDATE_BINDINGS" ) then
|
||||
AchievementMicroButton.tooltipText = MicroButtonTooltipText(ACHIEVEMENT_BUTTON, "TOGGLEACHIEVEMENT");
|
||||
else
|
||||
UpdateMicroButtons();
|
||||
end
|
||||
end
|
||||
|
||||
function CharacterMicroButton_OnLoad(self)
|
||||
self:SetNormalTexture("Interface\\Buttons\\UI-MicroButtonCharacter-Up");
|
||||
self:SetPushedTexture("Interface\\Buttons\\UI-MicroButtonCharacter-Down");
|
||||
self:SetHighlightTexture("Interface\\Buttons\\UI-MicroButton-Hilight");
|
||||
self:RegisterEvent("UNIT_PORTRAIT_UPDATE");
|
||||
self:RegisterEvent("UPDATE_BINDINGS");
|
||||
self:RegisterEvent("PLAYER_ENTERING_WORLD");
|
||||
self.tooltipText = MicroButtonTooltipText(CHARACTER_BUTTON, "TOGGLECHARACTER0");
|
||||
self.newbieText = NEWBIE_TOOLTIP_CHARACTER;
|
||||
end
|
||||
|
||||
function CharacterMicroButton_OnEvent(self, event, ...)
|
||||
if ( event == "UNIT_PORTRAIT_UPDATE" ) then
|
||||
local unit = ...;
|
||||
if ( unit == "player" ) then
|
||||
SetPortraitTexture(MicroButtonPortrait, unit);
|
||||
end
|
||||
return;
|
||||
elseif ( event == "PLAYER_ENTERING_WORLD" ) then
|
||||
SetPortraitTexture(MicroButtonPortrait, "player");
|
||||
elseif ( event == "UPDATE_BINDINGS" ) then
|
||||
self.tooltipText = MicroButtonTooltipText(CHARACTER_BUTTON, "TOGGLECHARACTER0");
|
||||
end
|
||||
end
|
||||
|
||||
function CharacterMicroButton_SetPushed()
|
||||
MicroButtonPortrait:SetTexCoord(0.2666, 0.8666, 0, 0.8333);
|
||||
MicroButtonPortrait:SetAlpha(0.5);
|
||||
end
|
||||
|
||||
function CharacterMicroButton_SetNormal()
|
||||
MicroButtonPortrait:SetTexCoord(0.2, 0.8, 0.0666, 0.9);
|
||||
MicroButtonPortrait:SetAlpha(1.0);
|
||||
end
|
||||
|
||||
function MainMenuMicroButton_SetPushed()
|
||||
MainMenuMicroButton:SetButtonState("PUSHED", 1);
|
||||
MainMenuBarPerformanceBar:SetPoint("TOPLEFT", MainMenuMicroButton, "TOPLEFT", 9, -36);
|
||||
end
|
||||
|
||||
function MainMenuMicroButton_SetNormal()
|
||||
MainMenuMicroButton:SetButtonState("NORMAL");
|
||||
MainMenuBarPerformanceBar:SetPoint("TOPLEFT", MainMenuMicroButton, "TOPLEFT", 10, -34);
|
||||
end
|
||||
|
||||
--Talent button specific functions
|
||||
function TalentMicroButton_OnEvent(self, event, ...)
|
||||
if ( event == "PLAYER_LEVEL_UP" ) then
|
||||
local level = ...;
|
||||
UpdateMicroButtons();
|
||||
if ( not CharacterFrame:IsShown() and level >= SHOW_TALENT_LEVEL) then
|
||||
SetButtonPulse(self, 60, 1);
|
||||
end
|
||||
elseif ( event == "UNIT_LEVEL" or event == "PLAYER_ENTERING_WORLD" ) then
|
||||
UpdateMicroButtons();
|
||||
elseif ( event == "UPDATE_BINDINGS" ) then
|
||||
self.tooltipText = MicroButtonTooltipText(TALENTS_BUTTON, "TOGGLETALENTS");
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user