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.

52 lines
1.4 KiB

NarciItemPushOverlayMixin = {};
function NarciItemPushOverlayMixin:WatchIcon(iconFileID)
self:Init();
self.watchedIcon = iconFileID;
self.Icon:SetTexture(iconFileID);
self:Show();
end
function NarciItemPushOverlayMixin:PlayFlyOut()
self:StopAnimating();
self.FlyOut:Play();
if ItemSocketingSocket1 and ItemSocketingSocket1.icon then
ItemSocketingSocket1.icon:Hide();
end
end
function NarciItemPushOverlayMixin:HideIfIdle()
if not self.FlyOut:IsPlaying() then
self:Hide();
end
end
function NarciItemPushOverlayMixin:Init()
local offsetY = 52;
self:ClearAllPoints();
self:SetPoint("CENTER", ItemSocketingFrame, "BOTTOM", 0, offsetY);
self:SetParent(ItemSocketingFrame);
self:SetFrameStrata("HIGH");
self:StopAnimating();
end
function NarciItemPushOverlayMixin:OnShow()
self:RegisterEvent("ITEM_PUSH");
end
function NarciItemPushOverlayMixin:OnHide()
self:UnregisterEvent("ITEM_PUSH");
self.watchedIcon = nil;
self:Hide();
end
function NarciItemPushOverlayMixin:OnEvent(event, ...)
--gem icon changes after SOCKET_INFO_UPDATE so the animation might fail to sync
if event == "ITEM_PUSH" then
local bagSlot, iconFileID = ...;
if iconFileID == self.watchedIcon then
self:PlayFlyOut();
self:UnregisterEvent(event);
end
end
end