From fd1e465c5faf265441828419b5cdad9a8819c6a4 Mon Sep 17 00:00:00 2001 From: Artur Morozov Date: Mon, 4 Mar 2019 17:35:58 +0300 Subject: [PATCH] skin: update character --- modules/skin.lua | 2 - skins/blizzard/character.lua | 336 ++++++++++++----------------------- 2 files changed, 114 insertions(+), 224 deletions(-) diff --git a/modules/skin.lua b/modules/skin.lua index 0470f958..232b94c4 100644 --- a/modules/skin.lua +++ b/modules/skin.lua @@ -1,7 +1,5 @@ pfUI:RegisterModule("skin", function () -- movable default frames - EnableMovable("CharacterFrame", nil, { "PaperDollFrame", - "PetPaperDollFrame", "ReputationFrame", "SkillFrame", "HonorFrame" } ) EnableMovable("QuestLogFrame") EnableMovable("FriendsFrame") diff --git a/skins/blizzard/character.lua b/skins/blizzard/character.lua index 0cd66d7c..808f26dc 100644 --- a/skins/blizzard/character.lua +++ b/skins/blizzard/character.lua @@ -10,23 +10,43 @@ pfUI:RegisterSkin("Character", function () {0.21875, 0.78125, 0.4765625, 0.546875} } - do -- character frame - local CharacterFrame = _G["PaperDollFrame"] - StripTextures(CharacterFrame) - CreateBackdrop(CharacterFrame, nil, nil, .75) - CharacterFrame.backdrop:SetPoint("TOPLEFT", 10, -12) - CharacterFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 76) - SkinCloseButton(CharacterFrameCloseButton, CharacterFrame, -37, -17) + CreateBackdrop(CharacterFrame, nil, nil, .75) + CharacterFrame.backdrop:SetPoint("TOPLEFT", 10, -10) + CharacterFrame.backdrop:SetPoint("BOTTOMRIGHT", -30, 72) + CharacterFrame:SetHitRectInsets(10,30,10,72) + EnableMovable("CharacterFrame", nil, CHARACTERFRAME_SUBFRAMES) - CharacterFramePortrait:Hide() - CharacterNameFrame:SetPoint("TOP", -10, -20) + SkinCloseButton(CharacterFrameCloseButton, CharacterFrame.backdrop, -6, -6) + CharacterFrame:DisableDrawLayer("ARTWORK") + + CharacterNameText:ClearAllPoints() + CharacterNameText:SetPoint("TOP", CharacterFrame.backdrop, "TOP", 0, -10) + + CharacterFrameTab1:ClearAllPoints() + CharacterFrameTab1:SetPoint("TOPLEFT", CharacterFrame.backdrop, "BOTTOMLEFT", bpad, -(border + (border == 1 and 1 or 2))) + for i = 1, 5 do + local tab = _G["CharacterFrameTab"..i] + local lastTab = _G["CharacterFrameTab"..(i-1)] + if lastTab and lastTab:IsShown() then + tab:ClearAllPoints() + tab:SetPoint("LEFT", lastTab, "RIGHT", border*2 + 1, 0) + end + SkinTab(tab) + end + hooksecurefunc("PetTab_Update", function() + CharacterFrameTab3:ClearAllPoints() + CharacterFrameTab3:SetPoint("LEFT", HasPetUI() and CharacterFrameTab2 or CharacterFrameTab1, "RIGHT", border*2 + 1, 0) + end, 1) + + do -- Character Tab + StripTextures(PaperDollFrame) StripTextures(CharacterAttributesFrame) StripTextures(CharacterResistanceFrame) + EnableClickRotate(CharacterModelFrame) CharacterModelFrameRotateLeftButton:Hide() CharacterModelFrameRotateRightButton:Hide() - EnableClickRotate(CharacterModelFrame) for i,c in pairs(magicResTextureCords) do local magicResFrame = _G["MagicResFrame"..i] @@ -34,13 +54,9 @@ pfUI:RegisterSkin("Character", function () magicResFrame:SetHeight(26) CreateBackdrop(magicResFrame) SetAllPointsOffset(magicResFrame.backdrop, magicResFrame, 2) - - for k,f in pairs({magicResFrame:GetRegions()}) do - if f:GetObjectType() == "Texture" then - f:SetTexCoord(c[1], c[2], c[3], c[4]) - SetAllPointsOffset(f, magicResFrame, 3) - end - end + local icon = GetNoNameObject(magicResFrame, "Texture", "BACKGROUND", "ResistanceIcons") + SetAllPointsOffset(icon, magicResFrame, 3) + icon:SetTexCoord(c[1], c[2], c[3], c[4]) end local slots = { @@ -67,40 +83,18 @@ pfUI:RegisterSkin("Character", function () } for i, slot in pairs(slots) do - local slotId, _, _ = GetInventorySlotInfo(slot) - local quality = GetInventoryItemQuality("player", slotId) - local frame = _G["Character"..slot] - local texture = _G["Character"..slot.."IconTexture"] - texture:SetTexCoord(.08, .92, .08, .92) - texture:ClearAllPoints() - texture:SetPoint("TOPLEFT", frame, "TOPLEFT", 4, -4) - texture:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -4, 4) - StripTextures(frame) CreateBackdrop(frame) + SetAllPointsOffset(frame.backdrop, frame, 2) - frame.backdrop:SetPoint("TOPLEFT", frame, "TOPLEFT", 2, -2) - frame.backdrop:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 2) + HandleIcon(frame.backdrop, _G["Character"..slot.."IconTexture"]) if not frame.scoreText then frame.scoreText = frame:CreateFontString(nil, "OVERLAY", "GameFontNormal") frame.scoreText:SetFont(pfUI.font_default, 12, "OUTLINE") frame.scoreText:SetPoint("BOTTOMRIGHT", 0, 0) end - - if true == false and i ~= 1 and i ~= 9 and i ~= 17 then - local isBottomSlots = i > 17 - local lastSlot = slots[i-1] - lastSlot = _G["Character"..lastSlot] - slot:ClearAllPoints() - - if isBottomSlots then - slot:SetPoint("LEFT", lastSlot, "RIGHT", 8, 0) - else - slot:SetPoint("TOP", lastSlot, "BOTTOM", 0, -7) - end - end end hooksecurefunc("PaperDollItemSlotButton_Update", function() @@ -112,7 +106,7 @@ pfUI:RegisterSkin("Character", function () if slot and slot.backdrop then if quality and quality > 0 then slot.backdrop:SetBackdropBorderColor(GetItemQualityColor(quality)) - else + else slot.backdrop:SetBackdropBorderColor(pfUI.cache.er, pfUI.cache.eg, pfUI.cache.eb, pfUI.cache.ea) end @@ -126,13 +120,13 @@ pfUI:RegisterSkin("Character", function () if quality and quality > 0 then slot.scoreText:SetText(score) slot.scoreText:SetTextColor(r, g, b, 1) - else + else slot.scoreText:SetText("") end - else + else if slot.scoreText then slot.scoreText:SetText("") end end - else + else if slot.scoreText then slot.scoreText:SetText("") end end end @@ -140,32 +134,31 @@ pfUI:RegisterSkin("Character", function () end) end - do -- pet frame - CreateBackdrop(PetPaperDollFrame, nil, nil, .75) - - PetPaperDollFrame.backdrop:SetPoint("TOPLEFT", 10, -12) - PetPaperDollFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 76) + do -- Pet Tab StripTextures(PetPaperDollFrame) + + PetNameText:ClearAllPoints() + PetNameText:SetPoint("TOP", CharacterFrame.backdrop, "TOP", 0, -10) + + EnableClickRotate(PetModelFrame) + PetModelFrameRotateLeftButton:Hide() + PetModelFrameRotateRightButton:Hide() + + PetPaperDollCloseButton:Hide() + StripTextures(PetAttributesFrame) StripTextures(PetPaperDollFrameExpBar) - CreateBackdrop(PetPaperDollFrameExpBar) + CreateBackdrop(PetPaperDollFrameExpBar, nil, true) PetPaperDollFrameExpBar:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar") PetPaperDollFrameExpBar:ClearAllPoints() PetPaperDollFrameExpBar:SetPoint("BOTTOM", PetModelFrame, "BOTTOM", 0, -120) - PetPaperDollCloseButton:Hide() - PetModelFrameRotateLeftButton:Hide() - PetModelFrameRotateRightButton:Hide() - EnableClickRotate(PetModelFrame) + PetTrainingPointLabel:ClearAllPoints() + PetTrainingPointLabel:SetPoint("TOPLEFT", PetArmorFrame, "BOTTOMLEFT", 0, -16) PetTrainingPointText:ClearAllPoints() - PetTrainingPointText:SetJustifyH("RIGHT") PetTrainingPointText:SetPoint("TOPRIGHT", PetArmorFrame, "BOTTOMRIGHT", 0, -16) - PetTrainingPointLabel:ClearAllPoints() - PetTrainingPointLabel:SetJustifyH("LEFT") - PetTrainingPointLabel:SetPoint("TOPLEFT", PetArmorFrame, "BOTTOMLEFT", 0, -16) - PetPaperDollPetInfo:ClearAllPoints() PetPaperDollPetInfo:SetPoint("TOPLEFT", PetModelFrame, "TOPLEFT") PetPaperDollPetInfo:SetFrameLevel(255) @@ -179,212 +172,111 @@ pfUI:RegisterSkin("Character", function () magicResFrame:SetHeight(26) CreateBackdrop(magicResFrame) SetAllPointsOffset(magicResFrame.backdrop, magicResFrame, 2) - - for k,f in pairs({magicResFrame:GetRegions()}) do - if f:GetObjectType() == "Texture" then - f:SetTexCoord(c[1], c[2], c[3], c[4]) - SetAllPointsOffset(f, magicResFrame, 3) - end - end + local icon = GetNoNameObject(magicResFrame, "Texture", "BACKGROUND", "ResistanceIcons") + SetAllPointsOffset(icon, magicResFrame, 3) + icon:SetTexCoord(c[1], c[2], c[3], c[4]) end end - do -- reputation frame - CreateBackdrop(ReputationFrame, nil, nil, .75) - ReputationFrame.backdrop:SetPoint("TOPLEFT", 10, -12) - ReputationFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 76) + do -- Reputation Tab StripTextures(ReputationFrame) for i = 1, NUM_FACTIONS_DISPLAYED do - local frame = _G["ReputationBar" .. i] - local header = _G["ReputationHeader"..i] - local name = _G["ReputationBar"..i.."FactionName"] + local bar = _G["ReputationBar" .. i] + StripTextures(bar) + CreateBackdrop(bar) + bar:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar") + local war = _G["ReputationBar"..i.."AtWarCheck"] - - StripTextures(frame) - CreateBackdrop(frame) - frame:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar") - StripTextures(war) - war:SetPoint("LEFT", frame, "RIGHT", 0, 0) + war:SetWidth(13) + war:SetHeight(13) + war:ClearAllPoints() + war:SetPoint("LEFT", bar.backdrop, "RIGHT", 6, 0) war.icon = war:CreateTexture(nil, "OVERLAY") - war.icon:SetPoint("LEFT", 6, -8) - war.icon:SetWidth(32) - war.icon:SetHeight(32) + war.icon:SetPoint("LEFT", -3, -8) war.icon:SetTexture("Interface\\Buttons\\UI-CheckBox-SwordCheck") - StripTextures(header) - header:SetNormalTexture(nil) - header.SetNormalTexture = function() return end - - header:SetPoint("TOPLEFT", frame, "TOPLEFT", -125, 0) - header.text = header:CreateFontString(nil, "OVERLAY") - header.text:SetFontObject(GameFontWhite) - header.text:SetJustifyH("CENTER") - header.text:SetJustifyV("CENTER") - header.text:SetPoint("LEFT", 0, 0) - header.text:SetWidth(12) - header.text:SetHeight(12) - - header.SetNormalTexture = function(self, tex) - self.text:SetText(strfind(tex, "MinusButton") and "-" or "+") - end - - header.backdrop = CreateFrame("Frame", nil, header) - header.backdrop:SetAllPoints(header.text) - CreateBackdrop(header.backdrop) + SkinCollapseButton(_G["ReputationHeader"..i]) end StripTextures(ReputationListScrollFrame) SkinScrollbar(ReputationListScrollFrameScrollBar) - ReputationDetailFrame:ClearAllPoints() - ReputationDetailFrame:SetPoint("TOPLEFT", ReputationFrame, "TOPRIGHT", -26, -28) - CreateBackdrop(ReputationDetailFrame) StripTextures(ReputationDetailFrame) - SkinCloseButton(ReputationDetailCloseButton, ReputationDetailFrame, -3, -3) + CreateBackdrop(ReputationDetailFrame, nil, nil, .75) + SkinCloseButton(ReputationDetailCloseButton, ReputationDetailFrame.backdrop, -6, -6) + + ReputationDetailFrame:ClearAllPoints() + ReputationDetailFrame:SetPoint("TOPLEFT", CharacterFrame.backdrop, "TOPRIGHT", 2*border, 0) SkinCheckbox(ReputationDetailAtWarCheckBox) - local texWar = ReputationDetailAtWarCheckBox:GetCheckedTexture() - texWar:SetWidth(20) - texWar:SetHeight(20) SkinCheckbox(ReputationDetailInactiveCheckBox) SkinCheckbox(ReputationDetailMainScreenCheckBox) end - do -- skills frame + do -- Skills Tab StripTextures(SkillFrame) - CreateBackdrop(SkillFrame, nil, nil, .75) - SkillFrame.backdrop:SetPoint("TOPLEFT", 10, -12) - SkillFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 76) - SkillFrameCancelButton:Hide() SkillFrameExpandButtonFrame:DisableDrawLayer("BACKGROUND") - StripTextures(SkillFrameCollapseAllButton) - SkillFrameCollapseAllButton:SetNormalTexture(nil) - SkillFrameCollapseAllButton.SetNormalTexture = function(self, tex) - self.text:SetText(strfind(tex, "MinusButton") and "-" or "+") - end - SkillFrameCollapseAllButton:SetPoint("LEFT", SkillFrameExpandButtonFrame, "LEFT", -50, 5) - SkillFrameCollapseAllButton.text = SkillFrameCollapseAllButton:CreateFontString(nil, "OVERLAY") - SkillFrameCollapseAllButton.text:SetFontObject(GameFontWhite) - SkillFrameCollapseAllButton.text:SetJustifyH("CENTER") - SkillFrameCollapseAllButton.text:SetJustifyV("CENTER") - SkillFrameCollapseAllButton.text:SetPoint("LEFT", 0, 0) - SkillFrameCollapseAllButton.text:SetWidth(14) - SkillFrameCollapseAllButton.text:SetHeight(14) - SkillFrameCollapseAllButton.backdrop = CreateFrame("Frame", nil, SkillFrameCollapseAllButton) - SkillFrameCollapseAllButton.backdrop:SetAllPoints(SkillFrameCollapseAllButton.text) - CreateBackdrop(SkillFrameCollapseAllButton.backdrop) + SkillFrameCancelButton:Hide() + + StripTextures(SkillFrameCollapseAllButton) + SkinCollapseButton(SkillFrameCollapseAllButton, true) + SkillFrameCollapseAllButton:ClearAllPoints() + SkillFrameCollapseAllButton:SetPoint("BOTTOMLEFT", SkillTypeLabel1, "TOPLEFT", 2, 2) for i = 1, SKILLS_TO_DISPLAY do - local lastframe = _G["SkillRankFrame" .. i-1] - local frame = _G["SkillRankFrame" .. i] - local border = _G["SkillRankFrame"..i.."Border"] local header = _G["SkillTypeLabel"..i] - - StripTextures(border) StripTextures(header) - StripTextures(frame) + SkinCollapseButton(header) - frame:SetHeight(12) + StripTextures(_G["SkillRankFrame"..i.."Border"]) + + local frame = _G["SkillRankFrame" .. i] + local lastframe = _G["SkillRankFrame" .. i-1] + StripTextures(frame) + CreateBackdrop(frame) if lastframe then + frame:ClearAllPoints() frame:SetPoint("TOPLEFT", lastframe, "BOTTOMLEFT", 0, -6) end - - CreateBackdrop(frame) frame:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar") - StripTextures(border) - StripTextures(header) - header:SetNormalTexture(nil) - header:SetPoint("TOPLEFT", frame, "TOPLEFT", -18, 0) - header.text = header:CreateFontString(nil, "OVERLAY") - header.text:SetFontObject(GameFontWhite) - header.text:SetJustifyH("CENTER") - header.text:SetJustifyV("CENTER") - header.text:SetPoint("LEFT", 0, 0) - header.text:SetWidth(10) - header.text:SetHeight(10) - - header.SetNormalTexture = function(self, tex) - self.text:SetText(strfind(tex, "MinusButton") and "-" or "+") - end - - header.backdrop = CreateFrame("Frame", nil, header) - - header.backdrop:SetAllPoints(header.text) - CreateBackdrop(header.backdrop) - - StripTextures(SkillListScrollFrame) - SkinScrollbar(SkillListScrollFrameScrollBar) - - StripTextures(SkillDetailScrollFrame) - SkinScrollbar(SkillDetailScrollFrameScrollBar) - CreateBackdrop(SkillDetailScrollFrame) - SkillDetailScrollFrame:SetPoint("TOPLEFT", SkillListScrollFrame, "BOTTOMLEFT", 0, -10) - SkillDetailScrollFrame:SetPoint("BOTTOMRIGHT", SkillFrame, "BOTTOMRIGHT", -45, 90) - - SkillDetailScrollFrameScrollBar:SetPoint("TOPRIGHT", SkillDetailScrollFrame, "TOPRIGHT", -22, 0) - SkillDetailScrollFrameScrollBar:SetPoint("BOTTOMRIGHT", SkillDetailScrollFrame, "BOTTOMRIGHT", -22, 0) - - StripTextures(SkillDetailStatusBar) - CreateBackdrop(SkillDetailStatusBar) - SkillDetailStatusBar:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar") - SkillDetailStatusBar:SetParent(SkillDetailScrollFrame) - SkillDetailStatusBar:SetFrameLevel(128) - - SkillDetailStatusBar:ClearAllPoints() - SkillDetailStatusBar:SetPoint("TOPLEFT", SkillDetailScrollFrame, "TOPLEFT", 10, -10) - SkillDetailStatusBar:SetPoint("TOPRIGHT", SkillDetailScrollFrame, "TOPRIGHT", -30, -40) - - - StripTextures(SkillDetailStatusBarUnlearnButton) - SkillDetailStatusBarUnlearnButton:SetPoint("LEFT", SkillDetailStatusBar, "RIGHT", -2, -5) - SkillDetailStatusBarUnlearnButton:SetWidth(32) - SkillDetailStatusBarUnlearnButton:SetHeight(32) - - SkillDetailStatusBarUnlearnButton.icon = SkillDetailStatusBarUnlearnButton:CreateTexture(nil, "ARTWORK") - SkillDetailStatusBarUnlearnButton.icon:SetPoint("LEFT", 7, 5) - SkillDetailStatusBarUnlearnButton.icon:SetWidth(16) - SkillDetailStatusBarUnlearnButton.icon:SetHeight(16) - SkillDetailStatusBarUnlearnButton.icon:SetTexture("Interface\\Buttons\\UI-GroupLoot-Pass-Up") + frame:SetHeight(12) end + + StripTextures(SkillListScrollFrame) + SkinScrollbar(SkillListScrollFrameScrollBar) + + StripTextures(SkillDetailScrollFrame) + SkillDetailScrollFrameScrollBar:Hide() + SkillDetailScrollChildFrame:Hide() + + SkillDetailCostText:SetParent(SkillDetailScrollFrame) + SkillDetailDescriptionText:SetParent(SkillDetailScrollFrame) + + StripTextures(SkillDetailStatusBar) + CreateBackdrop(SkillDetailStatusBar) + SkillDetailStatusBar:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar") + SkillDetailStatusBar:SetParent(SkillDetailScrollFrame) + + StripTextures(SkillDetailStatusBarUnlearnButton) + SkillDetailStatusBarUnlearnButton:SetWidth(20) + SkillDetailStatusBarUnlearnButton:SetHeight(20) + SkillDetailStatusBarUnlearnButton:SetHitRectInsets(0,0,0,0) + SkillDetailStatusBarUnlearnButton:ClearAllPoints() + SkillDetailStatusBarUnlearnButton:SetPoint("LEFT", SkillDetailStatusBar, "RIGHT", 6, 0) + SkillDetailStatusBarUnlearnButton:SetPushedTexture(nil) + SkillDetailStatusBarUnlearnButton:SetNormalTexture("Interface\\Buttons\\UI-GroupLoot-Pass-Up") end - do -- honor tab - CreateBackdrop(HonorFrame, nil, nil, .75) - HonorFrame.backdrop:SetPoint("TOPLEFT", 10, -12) - HonorFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 76) + do -- Honor Tab StripTextures(HonorFrame) HonorFrameProgressBar:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar") CreateBackdrop(HonorFrameProgressBar) HonorFrameProgressBar:SetHeight(24) end - - do -- tabs - local CharacterFrame = _G["PaperDollFrame"] - - hooksecurefunc("PetTab_Update", function() - CharacterFrameTab1:SetPoint("TOPLEFT", CharacterFrame.backdrop, "BOTTOMLEFT", bpad, -(border + (border == 1 and 1 or 2))) - - for i=1, 5 do - local tab = _G["CharacterFrameTab"..i] - SkinTab(tab) - tab.backdrop:SetFrameLevel(1) - - if i ~= 1 then - local lastTab = _G["CharacterFrameTab"..(i-1)] - if i == 3 and not HasPetUI() then - lastTab = _G["CharacterFrameTab"..(i-2)] - end - - tab:ClearAllPoints() - tab:SetPoint("LEFT", lastTab, "RIGHT", border*2 + 1, 0) - end - end - end, true) - end end)