Go to Page... |
|
Thread Tools | Display Modes |
11-27-18, 08:14 AM | #1 |
Need help locating some Blizzard code
Hi, I'm developing one addon to be able to see all class sets under Set tab on the collections frame.
The problem I found is that I need to re-create the WardrobeCollectionFrame.SetsCollectionFrame so I can make custom functions because blizzard code don't work when you ask for a Set of another class. I found an addon that does that but only for the ScrollFrame on the left, here is what it does: Code:
local SetCollection = nil; local frame = CreateFrame("frame"); frame:RegisterEvent("ADDON_LOADED"); frame:SetScript("OnEvent", function(pSelf, pEvent, pUnit) if pEvent == "ADDON_LOADED" and pUnit == "Blizzard_Collections" then WardrobeCollectionFrameScrollFrame:Hide(); WardrobeCollectionFrame.SetsCollectionFrame:Hide(); _ButtonHeight = WardrobeCollectionFrameScrollFrame.buttons[1]:GetHeight(); _SetsDataProvider = CreateFromMixins(WardrobeSetsDataProviderMixin); GetSets(); _ScrollFrame = CreateFrame("ScrollFrame", "SetCollectionUngroupScrollFrame", WardrobeCollectionFrame.SetsCollectionFrame, "HybridScrollFrameTemplate"); _ScrollFrame:SetAllPoints(WardrobeCollectionFrameScrollFrame); _ScrollFrame.scrollBar = CreateFrame("Slider", "SetCollectionUngroupScrollFrameScrollBar", _ScrollFrame, "HybridScrollBarTrimTemplate"); _ScrollFrame.scrollBar:SetAllPoints(WardrobeCollectionFrameScrollFrame.scrollBar); _ScrollFrame.scrollBar:SetScript("OnValueChanged", function(pSelf, pValue) pSelf.scrollValue = pValue; HybridScrollFrame_OnValueChanged(pSelf, pValue); ScrollFrame_Update(); end); _ScrollFrame.scrollBar.trackBG:Show(); _ScrollFrame.scrollBar.trackBG:SetVertexColor(0, 0, 0, 0.75); _ScrollFrame.scrollBar.scrollValue = 0; HybridScrollFrame_CreateButtons(_ScrollFrame, "WardrobeSetsScrollFrameButtonTemplate", 44, 0); for _, button in pairs(_ScrollFrame.buttons) do button.ProgressBar:SetTexture(1, 1, 1); button:RegisterForClicks("AnyUp", "AnyDown"); button:SetScript("OnMouseUp", function(pSelf, pButton, pDown) if pButton == "LeftButton" then --PlaySound("igMainMenuOptionCheckBoxOn"); CloseDropDownMenus(); ScrollFrame_SelectSet(pSelf.setVariantID); elseif pButton == "RightButton" then _ScrollFrame.menuInitBaseSetID = pSelf.setID; ToggleDropDownMenu(1, nil, _FavoriteDropDown, pSelf, 0, 0); --PlaySound("igMainMenuOptionCheckBoxOn"); end end) end _ScrollFrame.selectedSetID = _BaseSets[1].setID; local variantSets = GetVariantSets(_ScrollFrame.selectedSetID); if #variantSets > 0 then _ScrollFrame.selectedSetID = variantSets[1].setID; end WardrobeCollectionFrame.SetsCollectionFrame:SelectSet(_ScrollFrame.selectedSetID); _FavoriteDropDown = CreateFrame("Frame", "SetCollectionUngroupFavoriteDropDown", _ScrollFrame, "UIDropDownMenuTemplate"); UIDropDownMenu_Initialize(_FavoriteDropDown, FavoriteDropDown_Init, "MENU"); hooksecurefunc(WardrobeCollectionFrameScrollFrame, "update", function(pSelf) _ScrollFrame.selectedSetID = WardrobeCollectionFrame.SetsCollectionFrame:GetSelectedSetID(); ScrollFrame_Update(); end); hooksecurefunc(WardrobeCollectionFrameScrollFrame, "Update", function(pSelf) _ScrollFrame.selectedSetID = WardrobeCollectionFrame.SetsCollectionFrame:GetSelectedSetID(); ScrollFrame_Update(); end); _ScrollFrame:SetScript("OnShow", function(pSelf) ScrollFrame_Update(); frame:RegisterEvent("TRANSMOG_COLLECTION_UPDATED"); frame:RegisterEvent("PLAYER_REGEN_ENABLED"); frame:RegisterEvent("TRANSMOG_SETS_UPDATE_FAVORITE"); end); _ScrollFrame:SetScript("OnHide", function(pSelf) frame:UnregisterEvent("TRANSMOG_COLLECTION_UPDATED"); frame:UnregisterEvent("PLAYER_REGEN_ENABLED"); frame:UnregisterEvent("TRANSMOG_SETS_UPDATE_FAVORITE"); end); _ScrollFrame:SetScript("OnKeyDown", function(pSelf, pKey) ScrollFrame_HandleKey(pKey); end); elseif _ScrollFrame then if pEvent == "TRANSMOG_SETS_UPDATE_FAVORITE" then WardrobeCollectionFrameScrollFrame:OnEvent(pEvent); end ScrollFrame_Update(); end end) EDIT: Good place to start would be the place where this function is wrote I coulnd't find: "WardrobeCollectionFrame.SetsCollectionFrame:SelectSet(setID)" Last edited by LightVirus : 11-27-18 at 09:44 AM. |
|
WoWInterface » Developer Discussions » General Authoring Discussion » Need help locating some Blizzard code |
«
Previous Thread
|
Next Thread
»
|
Display Modes |
Switch to Linear Mode |
Switch to Hybrid Mode |
Threaded Mode |
|
|