stoneharry

Untitled

Aug 20th, 2012
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.54 KB | None | 0 0
  1.  
  2.  
  3. UIPanelWindows["PlayerTalentFrame"] = { area = "left", pushable = 6, whileDead = 1 };
  4.  
  5.  
  6. function PlayerTalentFrame_Toggle()
  7.     if ( PlayerTalentFrame:IsShown() ) then
  8.         HideUIPanel(PlayerTalentFrame);
  9.     else
  10.         ShowUIPanel(PlayerTalentFrame);
  11.     end
  12. end
  13.  
  14.  
  15. function PlayerTalentFrameTalent_OnClick(self, button)
  16.     if ( IsModifiedClick("CHATLINK") ) then
  17.         local link = GetTalentLink(PanelTemplates_GetSelectedTab(PlayerTalentFrame), self:GetID(), PlayerTalentFrame.inspect, PlayerTalentFrame.pet);
  18.         if ( link ) then
  19.             ChatEdit_InsertLink(link);
  20.         end
  21.     else
  22.         LearnTalent(PanelTemplates_GetSelectedTab(PlayerTalentFrame), self:GetID(), PlayerTalentFrame.pet);
  23.     end
  24. end
  25.  
  26. function PlayerTalentFrameTalent_OnEvent(self, event, ...)
  27.     if ( GameTooltip:IsOwned(self) ) then
  28.         GameTooltip:SetTalent(PlayerTalentFrame.currentSelectedTab, self:GetID(), PlayerTalentFrame.inspect, PlayerTalentFrame.pet);
  29.     end
  30. end
  31.  
  32. function PlayerTalentFrameTalent_OnEnter(self)
  33.     GameTooltip:SetOwner(self, "ANCHOR_RIGHT");
  34.     GameTooltip:SetTalent(PlayerTalentFrame.currentSelectedTab, self:GetID(), PlayerTalentFrame.inspect, PlayerTalentFrame.pet);
  35. end
  36.  
  37. function PlayerTalentFrame_Update()
  38.     -- Setup Tabs
  39.     local hasUI, isHunterPet = HasPetUI();
  40.     if ( isHunterPet ) then
  41.         PlayerTalentFrameType1:Show()
  42.         PlayerTalentFrameType2:Show()
  43.     else
  44.         PlayerTalentFrameType1:Hide()
  45.         PlayerTalentFrameType2:Hide()
  46.     end
  47.        
  48.     local numTabs = GetNumTalentTabs(PlayerTalentFrame.inspect, PlayerTalentFrame.pet);
  49.     for i=1, MAX_TALENT_TABS do
  50.         tab = getglobal("PlayerTalentFrameTab"..i);
  51.         if ( i <= numTabs ) then
  52.             local name, iconTexture, pointsSpent = GetTalentTabInfo(i, PlayerTalentFrame.inspect, PlayerTalentFrame.pet);
  53.             if ( i == PanelTemplates_GetSelectedTab(PlayerTalentFrame) ) then
  54.                 -- If tab is the selected tab set the points spent info
  55.                 getglobal("PlayerTalentFrameSpentPoints"):SetText(format(MASTERY_POINTS_SPENT, name).." "..HIGHLIGHT_FONT_COLOR_CODE..pointsSpent..FONT_COLOR_CODE_CLOSE);
  56.                 PlayerTalentFrame.pointsSpent = pointsSpent;
  57.             end
  58.             tab:SetText(name);
  59.             PanelTemplates_TabResize(tab, 10);
  60.             tab:Show();
  61.         else
  62.             tab:Hide();
  63.         end
  64.     end
  65.  
  66.     PanelTemplates_SetNumTabs(PlayerTalentFrame, numTabs);
  67.     PanelTemplates_UpdateTabs(PlayerTalentFrame);
  68.  
  69.     SetPortraitTexture(PlayerTalentFramePortrait, PlayerTalentFrame.unit);
  70.     SetPortraitTexture(PlayerTalentFrameType1:GetNormalTexture(),"player");
  71.     SetPortraitTexture(PlayerTalentFrameType2:GetNormalTexture(),"pet");
  72.  
  73.     PlayerTalentFrame.currentSelectedTab = PanelTemplates_GetSelectedTab(PlayerTalentFrame);
  74. end
  75.  
  76.  
  77. function PlayerTalentFrame_OnLoad(self)
  78.     PanelTemplates_SetNumTabs(PlayerTalentFrame, 3);
  79.     PanelTemplates_SetTab(PlayerTalentFrame, 1);
  80.     self:RegisterEvent("CHARACTER_POINTS_CHANGED");
  81.     self:RegisterEvent("PET_TALENT_POINTS_CHANGED");
  82.     self:RegisterEvent("SPELLS_CHANGED");
  83.     self:RegisterEvent("UNIT_PORTRAIT_UPDATE");
  84.     self:RegisterEvent("UNIT_PET");
  85.     self.unit = "player";
  86.     self.inspect = false;
  87.     self.pet = false;
  88.     self.updateFunction = PlayerTalentFrame_Update;
  89.  
  90.     TalentFrame_Load(PlayerTalentFrame);
  91.  
  92.     for i=1, MAX_NUM_TALENTS do
  93.         button = getglobal("PlayerTalentFrameTalent"..i);
  94.         if ( button ) then
  95.             button.talentButton_OnEvent = PlayerTalentFrameTalent_OnEvent;
  96.             button.talentButton_OnClick = PlayerTalentFrameTalent_OnClick;
  97.             button.talentButton_OnEnter = PlayerTalentFrameTalent_OnEnter;
  98.         end
  99.     end
  100.    
  101.     PlayerTalentFrameType1.tooltip = PLAYER;
  102.     PlayerTalentFrameType2.tooltip = PET;
  103.     --PlayerTalentFrameType1:SetNormalTexture("Interface\\Icons\\Ability_Hunter_BeastWithin");
  104.     --PlayerTalentFrameType2:SetNormalTexture("Interface\\Icons\\Ability_Druid_FerociousBite");
  105.     SetPortraitTexture(PlayerTalentFrameType1:GetNormalTexture(),"player");
  106.     SetPortraitTexture(PlayerTalentFrameType2:GetNormalTexture(),"pet");
  107.     PlayerTalentFrameType1:SetChecked(true);
  108.    
  109.     PlayerTalentFrame.playertab = 1;
  110.    
  111.    
  112. end
  113.  
  114. function  PlayerTalentFrame_OnShow()
  115.     if ( MISTER_SPARKLE and MISTER_SPARKLE ~= 0 ) then
  116.         PlayerTalentFrame:Hide();
  117.         return;
  118.     end
  119.     -- Stop buttons from flashing after skill up
  120.     SetButtonPulse(TalentMicroButton, 0, 1);
  121.  
  122.     PlaySound("TalentScreenOpen");
  123.     UpdateMicroButtons();
  124.  
  125.     TalentFrame_Update(PlayerTalentFrame);
  126.  
  127.     -- Set flag
  128.     if ( not GetCVarBool("talentFrameShown") ) then
  129.         SetCVar("talentFrameShown", 1);
  130.         UIFrameFlash(PlayerTalentFrameScrollButtonOverlay, 0.5, 0.5, 60);
  131.     end
  132. end
  133.  
  134. function  PlayerTalentFrame_OnHide()
  135.     UpdateMicroButtons();
  136.     PlaySound("TalentScreenClose");
  137.     UIFrameFlashStop(PlayerTalentFrameScrollButtonOverlay);
  138. end
  139.  
  140. function PlayerTalentFrame_OnEvent(self, event, ...)
  141.     if ( (event == "CHARACTER_POINTS_CHANGED") or (event == "SPELLS_CHANGED") or (event == "PET_TALENT_POINTS_CHANGED")) then
  142.         TalentFrame_Update(PlayerTalentFrame);
  143.     elseif ( event == "UNIT_PORTRAIT_UPDATE" ) then
  144.         local arg1 = ...;
  145.         if ( arg1 == "player" ) then
  146.             SetPortraitTexture(PlayerTalentFramePortrait, "player");
  147.             SetPortraitTexture(PlayerTalentFrameType1:GetNormalTexture(),"player");
  148.         elseif ( arg1 == "pet" ) then
  149.             SetPortraitTexture(PlayerTalentFrameType2:GetNormalTexture(),"pet");
  150.         end
  151.     elseif ( event == "UNIT_PET" ) then
  152.         local arg1 = ...;
  153.         if ( arg1 == "player" ) then
  154.             PlayerTalentFrameType_OnClick(PlayerTalentFrameType1);
  155.             PlayerTalentFrame_Update();
  156.             TalentFrame_Update(self);
  157.         end
  158.     end
  159. end
  160.  
  161. function PlayerTalentFrameDownArrow_OnClick(self, button)
  162.     local parent = self:GetParent();
  163.     parent:SetValue(parent:GetValue() + (parent:GetHeight() / 2));
  164.     PlaySound("UChatScrollButton");
  165.     UIFrameFlashStop(PlayerTalentFrameScrollButtonOverlay);
  166. end
  167.  
  168.  
  169. function TalentFrameTab_OnClick(self)
  170.     PanelTemplates_SetTab(PlayerTalentFrame, self:GetID());
  171.     TalentFrame_Update(PlayerTalentFrame);
  172.     for i=1, MAX_TALENT_TABS do
  173.         SetButtonPulse(getglobal("PlayerTalentFrameTab"..i), 0, 0);
  174.     end
  175.     PlaySound("igCharacterInfoTab");
  176. end
  177.  
  178. function PlayerTalentFrameType_OnClick(self)
  179.     local name=self:GetName()
  180.     PlayerTalentFrameType1:SetChecked(false)
  181.     PlayerTalentFrameType2:SetChecked(false)
  182.     self:SetChecked(1)
  183.     if ( name == "PlayerTalentFrameType1" ) then
  184.         PlayerTalentFrame.pet = false;
  185.         PlayerTalentFrame.unit = "player";
  186.         PanelTemplates_SetTab(PlayerTalentFrame,PlayerTalentFrame.playertab)
  187.     elseif ( name == "PlayerTalentFrameType2" ) then
  188.         PlayerTalentFrame.pet = true;
  189.         PlayerTalentFrame.unit = "pet";
  190.         PlayerTalentFrame.playertab = PanelTemplates_GetSelectedTab(PlayerTalentFrame)
  191.         PanelTemplates_SetTab(PlayerTalentFrame, 1)
  192.     end
  193.    
  194.     PlayerTalentFrame_Update()
  195.     TalentFrame_Update(self:GetParent())
  196. end
Advertisement
Add Comment
Please, Sign In to add comment