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.

151 lines
4.4 KiB

local Clipboard = CreateFrame("Frame");
Clipboard:Hide();
Clipboard:SetSize(400, 300);
Clipboard:SetPoint("CENTER", UIParent, "CENTER", 0, 0);
Clipboard.Background = Clipboard:CreateTexture(nil, "BACKGROUND");
Clipboard.Background:SetAllPoints(true);
Clipboard.Background:SetColorTexture(0.12, 0.12, 0.12, 0.8);
Clipboard.CloseButton = CreateFrame("Button", nil, Clipboard, "NarciCloseButtonTemplate");
Clipboard.CloseButton.noFading = true;
Clipboard.CloseButton:SetPoint("TOPRIGHT", Clipboard, "TOPRIGHT", 0, 0);
local function ExitEdit(self)
self:ClearFocus();
end
local EditBox = CreateFrame("EditBox", nil, Clipboard);
EditBox:SetFontObject("NarciFontUniversal10");
EditBox:SetJustifyH("LEFT");
EditBox:SetJustifyV("TOP");
EditBox:SetPoint("TOPLEFT", Clipboard, "TOPLEFT", 6, -18);
EditBox:SetPoint("BOTTOMRIGHT", Clipboard, "BOTTOMRIGHT", -6, 6);
EditBox:SetAutoFocus(false);
EditBox:SetMultiLine(true);
EditBox:SetTextInsets(4, 4, 4, 4);
EditBox:SetSpacing(2);
EditBox:SetScript("OnEscapePressed", ExitEdit);
EditBox.Background = EditBox:CreateTexture(nil, "BACKGROUND");
EditBox.Background:SetAllPoints(true);
EditBox.Background:SetColorTexture(0.08, 0.08, 0.08, 0.8);
---- Print UiCamera data: Will be used in our Wardrobe in Classic ----
--Mouseover Appearance Collection: /dump GetMouseFocus().visualInfo.visualID
local ExampleItems = {
--appearanceID (visualID)
--restricted to Leather Class
Head = 2627,
Shoulder = 2392,
Back = 4121,
Chest = 244,
Shirt = 906,
Tabard = 11082,
Wrist = 800,
Hands = 283,
Waist = 345,
Legs = 254,
Feet = 44317, --406
Robe = 2382,
};
local ExampleWeapons = {
OneHAxe = 641,
TwoHAxe = 0,
OneHSword = 280,
TwoHSword = 0,
OneHMace = 1638,
TwoHMace = 0,
Polearm = 0,
Staff = 0,
Dagger = 5210,
Thrown = 5210,
Fist = 2495,
Bow = 1084,
Gun = 1066, --406
Crossbow = 3724,
Wand = 0,
FishingPole = 0,
Shield = 0,
Holdable = 0,
};
function PrintTransmogCameraID()
--/run PrintTransmogCameraID()
local IS_WEAPON = true;
local uiCameraID;
local text;
local posX, posY, posZ, yaw, pitch, roll, animId, animVariation, animFrame, centerModel;
local sourceTable;
local textFormat;
if IS_WEAPON then
sourceTable = ExampleWeapons;
textFormat = "[%d] = {%.4f, %.4f, %.4f, %.4f, %.4f, %.4f, %s, %s, %s, %s}, --%s";
else
sourceTable = ExampleItems;
local _, raceFile = UnitRace("player");
local gender = UnitSex("player");
if gender == 2 then
gender = "Male"
else
gender = "Female";
end
local postFix = " --"..raceFile.."-"..gender.."-%s";
textFormat = "[%d] = {%.4f, %.4f, %.4f, %.4f, %.4f, %.4f, %s, %s, %s, %s}," ..postFix
end
local cameraIDs = {};
for slotName, visualID in pairs(sourceTable) do
uiCameraID = C_TransmogCollection.GetAppearanceCameraID(visualID);
table.insert(cameraIDs, {uiCameraID, slotName});
end
if not IS_WEAPON then
local detailsCameraID, vendorCameraID = C_TransmogSets.GetCameraIDs();
table.insert(cameraIDs, {detailsCameraID, "Details"});
table.insert(cameraIDs, {vendorCameraID, "Vendor"});
end
--Camera Info
local cameraName;
for _, data in pairs(cameraIDs) do
uiCameraID = data[1];
cameraName =data[2];
if uiCameraID and uiCameraID ~= 0 then
posX, posY, posZ, yaw, pitch, roll, animId, animVariation, animFrame, centerModel = GetUICameraInfo(uiCameraID);
centerModel = tostring(centerModel);
if text then
text = text.."\n";
else
text = "";
end
text = text..string.format(textFormat, uiCameraID, posX, posY, posZ, yaw, pitch, roll, animId, animVariation, animFrame, centerModel, cameraName);
end
print(_, cameraName, uiCameraID)
end
--Race Slot to camera:
text = text.."\n";
for _, data in pairs(cameraIDs) do
uiCameraID = data[1];
cameraName = data[2];
text = text.."\n"..string.format("%s = %d,", cameraName, uiCameraID);
end
Clipboard:Show();
EditBox:SetText(text);
end