Advertisement
Guest User

Blia

a guest
Jul 11th, 2010
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.72 KB | None | 0 0
  1. --[[
  2. TestMainFrame_SUBFRAMES = { "InspectPaperDollFrame", "InspectPVPFrame", "InspectTalentFrame", "InspectTalentFrame", "InspectTalentFrame" };
  3. --]]
  4.  
  5. UIPanelWindows["TestMainFrame"] = { area = "left", pushable = 0 };
  6.  
  7. function TestMainFrame_Show(unit)
  8.     HideUIPanel(TestMainFrame);
  9.     if ( CanInspect(unit, true) ) then
  10.         NotifyInspect(unit);
  11.         TestMainFrame.unit = unit;
  12.         -- InspectSwitchTabs(1);
  13.         ShowUIPanel(TestMainFrame);
  14.         TestMainFrame_UpdateTalentTab();
  15.     end
  16. end
  17.  
  18. function TestMainFrame_OnLoad(self)
  19.     self:RegisterEvent("PLAYER_TARGET_CHANGED");
  20.     self:RegisterEvent("PARTY_MEMBERS_CHANGED");
  21.     self:RegisterEvent("UNIT_NAME_UPDATE");
  22.     self:RegisterEvent("UNIT_PORTRAIT_UPDATE");
  23.     self.unit = nil;
  24.  
  25.     -- Tab Handling code
  26.     -- PanelTemplates_SetNumTabs(self, 3);
  27.     -- PanelTemplates_SetTab(self, 1);
  28. end
  29.  
  30. function TestMainFrame_OnEvent(self, event, ...)
  31.     if ( not self:IsShown() ) then
  32.         return;
  33.     end
  34.     if ( event == "PLAYER_TARGET_CHANGED" or event == "PARTY_MEMBERS_CHANGED" ) then
  35.         if ( (event == "PLAYER_TARGET_CHANGED" and self.unit == "target") or
  36.              (event == "PARTY_MEMBERS_CHANGED" and self.unit ~= "target") ) then
  37.             if ( CanInspect(self.unit) ) then
  38.                 TestMainFrame_UnitChanged(self);
  39.             else
  40.                 HideUIPanel(TestMainFrame);
  41.             end
  42.         end
  43.         return;
  44.     elseif ( event == "UNIT_NAME_UPDATE" ) then
  45.         local arg1 = ...;
  46.         if ( arg1 == self.unit ) then
  47.             TestNameText:SetText(UnitName(arg1));
  48.         end
  49.         return;
  50.     elseif ( event == "UNIT_PORTRAIT_UPDATE" ) then
  51.         local arg1 = ...;
  52.         if ( arg1 == self.unit ) then
  53.             SetPortraitTexture(TestPortraitFrame, arg1);
  54.         end
  55.         return;
  56.     end
  57. end
  58.  
  59. function TestMainFrame_UnitChanged(self)
  60.     local unit = self.unit;
  61.     NotifyInspect(unit);
  62.     InspectPaperDollFrame_OnShow(self);
  63.     SetPortraitTexture(TestPortraitFrame, unit);
  64.     TestNameText:SetText(UnitName(unit));
  65.     -- TestMainFrame_UpdateTalentTab();
  66.     if ( InspectPVPFrame:IsShown() ) then
  67.         InspectPVPFrame_OnShow();
  68.     end
  69. end
  70.  
  71. function TestMainFrame_OnShow(self)
  72.     if ( not self.unit ) then
  73.         return;
  74.     end
  75.     PlaySound("igCharacterInfoOpen");  
  76.     SetPortraitTexture(TestPortraitFrame, self.unit);
  77.     TestNameText:SetText(UnitName(self.unit));
  78. end
  79.  
  80. -- if uncommented it generates an error
  81. --[[
  82. function TestMainFrame_OnHide(self)
  83.     self.unit = nil;
  84.     PlaySound("igCharacterInfoClose");
  85.  
  86.     -- Clear the player being inspected
  87.     ClearInspectPlayer();
  88.  
  89.     -- in the InspectTalentFrame_Update function, a default talent tab is selected smartly if there is no tab selected
  90.     -- it actually ends up feeling natural to have this behavior happen every time the frame is shown
  91.     -- PanelTemplates_SetTab(InspectTalentFrame, nil);
  92. end
  93. --]]
  94.  
  95. function TestMainFrame_OnUpdate(self)
  96.     if ( not UnitIsVisible(self.unit) ) then
  97.         HideUIPanel(TestMainFrame);
  98.     end
  99. end    
  100.  
  101.  
  102. --  function InspectSwitchTabs(newID)
  103. --      local newFrame = _G[TestMainFrame_SUBFRAMES[newID]];
  104. --      local oldFrame = _G[TestMainFrame_SUBFRAMES[PanelTemplates_GetSelectedTab(TestMainFrame)]];
  105. --      if ( newFrame ) then
  106. --          if ( oldFrame ) then
  107. --              oldFrame:Hide();
  108. --          end
  109. --          PanelTemplates_SetTab(TestMainFrame, newID);
  110. --          ShowUIPanel(TestMainFrame);
  111. --          newFrame:Show();
  112. --      end
  113. --  end
  114.  
  115.  
  116. --[[
  117. function TestMainFrameTab_OnClick(self)
  118.     PlaySound("igCharacterInfoTab");
  119.     InspectSwitchTabs(self:GetID());
  120. end
  121. --]]
  122.  
  123. --[[
  124. function TestMainFrame_UpdateTalentTab()
  125.     if ( not TestMainFrame.unit ) then
  126.         return;
  127.     end
  128.     local level = UnitLevel(TestMainFrame.unit);
  129.     if ( level > 0 and level < 10 ) then
  130.         PanelTemplates_DisableTab(TestMainFrame, 3);
  131.         if ( PanelTemplates_GetSelectedTab(TestMainFrame) == 3 ) then
  132.             InspectSwitchTabs(1);
  133.         end
  134.     else
  135.         PanelTemplates_EnableTab(TestMainFrame, 3);
  136.         InspectTalentFrame_UpdateTabs();
  137.     end
  138. end
  139. --]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement