init
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||||
local S = E:GetModule("Skins")
|
||||
|
||||
--Lua functions
|
||||
local _G = _G
|
||||
--WoW API / Variables
|
||||
local GetPetHappiness = GetPetHappiness
|
||||
local HasPetUI = HasPetUI
|
||||
local UnitExists = UnitExists
|
||||
|
||||
S:AddCallback("Skin_Stable", function()
|
||||
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.stable then return end
|
||||
|
||||
PetStableFrame:StripTextures()
|
||||
PetStableFramePortrait:Kill()
|
||||
PetStableFrame:CreateBackdrop("Transparent")
|
||||
PetStableFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
PetStableFrame.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
||||
|
||||
S:SetUIPanelWindowInfo(PetStableFrame, "width")
|
||||
S:SetBackdropHitRect(PetStableFrame)
|
||||
|
||||
S:HandleCloseButton(PetStableFrameCloseButton, PetStableFrame.backdrop)
|
||||
|
||||
S:HandleRotateButton(PetStableModelRotateLeftButton)
|
||||
S:HandleRotateButton(PetStableModelRotateRightButton)
|
||||
|
||||
S:HandleButton(PetStablePurchaseButton)
|
||||
|
||||
S:HandleItemButton(PetStableCurrentPet, true)
|
||||
PetStableCurrentPetIconTexture:SetDrawLayer("OVERLAY")
|
||||
|
||||
PetStableModel:Size(325, 224)
|
||||
PetStableModel:Point("TOPLEFT", 19, -71)
|
||||
|
||||
PetStableModelRotateLeftButton:Point("TOPLEFT", PetStableModel, "TOPLEFT", 4, -4)
|
||||
PetStableModelRotateRightButton:Point("TOPLEFT", PetStableModelRotateLeftButton, "TOPRIGHT", 3, 0)
|
||||
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 128, 64, 16, 16, 52, 4
|
||||
PetStablePetInfo:GetRegions():SetTexCoord(0.03125, 0.15625, 0.0625, 0.3125)
|
||||
PetStablePetInfo:SetFrameLevel(PetModelFrame:GetFrameLevel() + 2)
|
||||
PetStablePetInfo:CreateBackdrop("Default")
|
||||
PetStablePetInfo:Size(25)
|
||||
PetStablePetInfo:Point("TOPLEFT", PetStableModelRotateLeftButton, "BOTTOMLEFT", 10, -4)
|
||||
|
||||
PetStableCurrentPet:Point("BOTTOMLEFT", 40, 150)
|
||||
|
||||
local function UpdateSlot(self, r, g, b)
|
||||
if g ~= 1 then
|
||||
self:SetTexture(.8, .2, .2, .3)
|
||||
else
|
||||
self:SetTexture(0, 0, 0, 0)
|
||||
end
|
||||
end
|
||||
|
||||
for i = 1, NUM_PET_STABLE_SLOTS do
|
||||
S:HandleItemButton(_G["PetStableStabledPet"..i], true)
|
||||
_G["PetStableStabledPet"..i.."IconTexture"]:SetDrawLayer("OVERLAY")
|
||||
|
||||
local bg = _G["PetStableStabledPet"..i.."Background"]
|
||||
bg:SetDrawLayer("BORDER")
|
||||
bg:SetInside()
|
||||
hooksecurefunc(bg, "SetVertexColor", UpdateSlot)
|
||||
end
|
||||
|
||||
hooksecurefunc("PetStable_Update", function()
|
||||
local hasPetUI, isHunterPet = HasPetUI()
|
||||
if hasPetUI and not isHunterPet and UnitExists("pet") then return end
|
||||
|
||||
local happiness = GetPetHappiness()
|
||||
|
||||
if happiness == 1 then
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 128, 64, 16, 16, 52, 4
|
||||
PetStablePetInfo:GetRegions():SetTexCoord(0.40625, 0.53125, 0.0625, 0.3125)
|
||||
elseif happiness == 2 then
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 128, 64, 16, 16, 28, 4
|
||||
PetStablePetInfo:GetRegions():SetTexCoord(0.21875, 0.34375, 0.0625, 0.3125)
|
||||
elseif happiness == 3 then
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 128, 64, 16, 16, 52, 4
|
||||
PetStablePetInfo:GetRegions():SetTexCoord(0.03125, 0.15625, 0.0625, 0.3125)
|
||||
end
|
||||
end)
|
||||
end)
|
||||
Reference in New Issue
Block a user