You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
3.7 KiB

local addonName, addon = ...
addon = LibStub("AceAddon-3.0"):GetAddon(addonName)
local L = LibStub("AceLocale-3.0"):GetLocale(addonName)
BW_SetIconMixin = {}
function BW_SetIconMixin:OnEnter()
if self.Icon:IsVisible() then
GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
if self:GetID() == 1 then
GameTooltip:SetText(L["No Longer Obtainable"])
elseif self:GetID() == 2 then
GameTooltip:SetText(L["Contains Unavailable Items"])
end
GameTooltip:Show()
end
end
addon.ShowAltForm = false
BetterWardrobeAlteredFormSwapButtonMixin = {}
function BetterWardrobeAlteredFormSwapButtonMixin:OnLoad()
local _, raceFile = UnitRace("player");
if raceFile == "Dracthyr" then
self.Portrait:SetTexture("Interface\\ICONS\\Ability_Evoker_BlessingOfTheBronze.blp")
self.nativeFormTooltip = L["Switch Form To Visage"];
self.alternateFormTooltip = L["Switch Form To Dracthyr"];
elseif raceFile == "Worgen" then
self:SetHeight(34);
self.Portrait:SetTexture("Interface\\AddOns\\Narcissus\\Art\\Modules\\DressingRoom\\FormButton-Worgen");
self.Portrait:SetTexture("Interface\\ICONS\\Ability_Evoker_BlessingOfTheBronze.blp")
self.nativeFormTooltip = L["Switch Form To Human"];
self.alternateFormTooltip = L["Switch Form To Worgen"];
else
self:Hide();
end
addon.useNativeForm = C_UnitAuras.WantsAlteredForm("player");
self.useNativeForm = addon.useNativeForm
end
function BetterWardrobeAlteredFormSwapButtonMixin:ShowTooltip()
local tooltip = GameTooltip;
tooltip:SetOwner(self, "ANCHOR_NONE");
tooltip:SetPoint("LEFT", self, "RIGHT", 4, 0);
if self.useNativeForm then
GameTooltip_SetTitle(tooltip, self.nativeFormTooltip, NORMAL_FONT_COLOR);
else
GameTooltip_SetTitle(tooltip, self.alternateFormTooltip, NORMAL_FONT_COLOR);
end
tooltip:Show();
end
function BetterWardrobeAlteredFormSwapButtonMixin:OnEnter()
self:ShowTooltip();
end
function BetterWardrobeAlteredFormSwapButtonMixin:OnShow()
addon.useNativeForm = C_UnitAuras.WantsAlteredForm("player");
self.useNativeForm = addon.useNativeForm
self:Update()
end
function BetterWardrobeAlteredFormSwapButtonMixin:OnLeave()
GameTooltip_Hide();
end
function BetterWardrobeAlteredFormSwapButtonMixin:OnClick()
addon.useNativeForm = not addon.useNativeForm
self.useNativeForm = not self.useNativeForm
self:Update()
if DressUpFrame:IsShown() then
addon:DressinRoomFormSwap()
else
local tabID = addon.GetTab()
if tabID == 1 then
local cat = BetterWardrobeCollectionFrame.ItemsCollectionFrame:GetActiveCategory()
local slot = BetterWardrobeCollectionFrame.ItemsCollectionFrame:GetActiveSlot()
local transmogLocation = TransmogUtil.GetTransmogLocation(slot, Enum.TransmogType.Appearance, Enum.TransmogModification.Main)
local ignorePreviousSlot = true;
BetterWardrobeCollectionFrame.ItemsCollectionFrame:SetActiveSlot(transmogLocation, cat, ignorePreviousSlot)
else
BetterWardrobeCollectionFrame.SetsCollectionFrame:OnUnitModelChangedEvent()
BetterWardrobeCollectionFrame.SetsTransmogFrame:OnUnitModelChangedEvent()
end
end
end
function BetterWardrobeAlteredFormSwapButtonMixin:Update()
local _, raceFile = UnitRace("player");
if raceFile == "Dracthyr" then
if self.useNativeForm then
self.Portrait:SetTexture("Interface\\ICONS\\Ability_Racial_Visage.blp")
else
self.Portrait:SetTexture("Interface\\ICONS\\Ability_Evoker_BlessingOfTheBronze.blp")
end
else
if self.useNativeForm then
self.Portrait:SetTexture("Interface\\ICONS\\Ability_Racial_TwoForms.blp")
else
self.Portrait:SetTexture("Interface\\ICONS\\Spell_Hunter_LoneWolf.blp")
end
end
self:ShowTooltip()
end