Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- TestMainFrame_SUBFRAMES = { "InspectPaperDollFrame", "InspectPVPFrame", "InspectTalentFrame", "InspectTalentFrame", "InspectTalentFrame" };
- --]]
- UIPanelWindows["TestMainFrame"] = { area = "left", pushable = 0 };
- function TestMainFrame_Show(unit)
- HideUIPanel(TestMainFrame);
- if ( CanInspect(unit, true) ) then
- NotifyInspect(unit);
- TestMainFrame.unit = unit;
- -- InspectSwitchTabs(1);
- ShowUIPanel(TestMainFrame);
- TestMainFrame_UpdateTalentTab();
- end
- end
- function TestMainFrame_OnLoad(self)
- self:RegisterEvent("PLAYER_TARGET_CHANGED");
- self:RegisterEvent("PARTY_MEMBERS_CHANGED");
- self:RegisterEvent("UNIT_NAME_UPDATE");
- self:RegisterEvent("UNIT_PORTRAIT_UPDATE");
- self.unit = nil;
- -- Tab Handling code
- -- PanelTemplates_SetNumTabs(self, 3);
- -- PanelTemplates_SetTab(self, 1);
- end
- function TestMainFrame_OnEvent(self, event, ...)
- if ( not self:IsShown() ) then
- return;
- end
- if ( event == "PLAYER_TARGET_CHANGED" or event == "PARTY_MEMBERS_CHANGED" ) then
- if ( (event == "PLAYER_TARGET_CHANGED" and self.unit == "target") or
- (event == "PARTY_MEMBERS_CHANGED" and self.unit ~= "target") ) then
- if ( CanInspect(self.unit) ) then
- TestMainFrame_UnitChanged(self);
- else
- HideUIPanel(TestMainFrame);
- end
- end
- return;
- elseif ( event == "UNIT_NAME_UPDATE" ) then
- local arg1 = ...;
- if ( arg1 == self.unit ) then
- TestNameText:SetText(UnitName(arg1));
- end
- return;
- elseif ( event == "UNIT_PORTRAIT_UPDATE" ) then
- local arg1 = ...;
- if ( arg1 == self.unit ) then
- SetPortraitTexture(TestPortraitFrame, arg1);
- end
- return;
- end
- end
- function TestMainFrame_UnitChanged(self)
- local unit = self.unit;
- NotifyInspect(unit);
- InspectPaperDollFrame_OnShow(self);
- SetPortraitTexture(TestPortraitFrame, unit);
- TestNameText:SetText(UnitName(unit));
- -- TestMainFrame_UpdateTalentTab();
- if ( InspectPVPFrame:IsShown() ) then
- InspectPVPFrame_OnShow();
- end
- end
- function TestMainFrame_OnShow(self)
- if ( not self.unit ) then
- return;
- end
- PlaySound("igCharacterInfoOpen");
- SetPortraitTexture(TestPortraitFrame, self.unit);
- TestNameText:SetText(UnitName(self.unit));
- end
- -- if uncommented it generates an error
- --[[
- function TestMainFrame_OnHide(self)
- self.unit = nil;
- PlaySound("igCharacterInfoClose");
- -- Clear the player being inspected
- ClearInspectPlayer();
- -- in the InspectTalentFrame_Update function, a default talent tab is selected smartly if there is no tab selected
- -- it actually ends up feeling natural to have this behavior happen every time the frame is shown
- -- PanelTemplates_SetTab(InspectTalentFrame, nil);
- end
- --]]
- function TestMainFrame_OnUpdate(self)
- if ( not UnitIsVisible(self.unit) ) then
- HideUIPanel(TestMainFrame);
- end
- end
- -- function InspectSwitchTabs(newID)
- -- local newFrame = _G[TestMainFrame_SUBFRAMES[newID]];
- -- local oldFrame = _G[TestMainFrame_SUBFRAMES[PanelTemplates_GetSelectedTab(TestMainFrame)]];
- -- if ( newFrame ) then
- -- if ( oldFrame ) then
- -- oldFrame:Hide();
- -- end
- -- PanelTemplates_SetTab(TestMainFrame, newID);
- -- ShowUIPanel(TestMainFrame);
- -- newFrame:Show();
- -- end
- -- end
- --[[
- function TestMainFrameTab_OnClick(self)
- PlaySound("igCharacterInfoTab");
- InspectSwitchTabs(self:GetID());
- end
- --]]
- --[[
- function TestMainFrame_UpdateTalentTab()
- if ( not TestMainFrame.unit ) then
- return;
- end
- local level = UnitLevel(TestMainFrame.unit);
- if ( level > 0 and level < 10 ) then
- PanelTemplates_DisableTab(TestMainFrame, 3);
- if ( PanelTemplates_GetSelectedTab(TestMainFrame) == 3 ) then
- InspectSwitchTabs(1);
- end
- else
- PanelTemplates_EnableTab(TestMainFrame, 3);
- InspectTalentFrame_UpdateTabs();
- end
- end
- --]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement