vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 -- Global variables
2 CLASSICONS_VERSION = "1.0.2";
3  
4 function ClassIcons_OnLoad()
5  
6 -- Set up slash commands
7 SlashCmdList["CLASSICONS"] = ClassIcons_CmdHandler;
8 SLASH_CLASSICONS1 = "/classicons";
9 SLASH_CLASSICONS2 = "/ci";
10  
11 -- Register for events
12 this:RegisterEvent("VARIABLES_LOADED");
13 this:RegisterEvent("PLAYER_ENTERING_WORLD");
14 this:RegisterEvent("PLAYER_TARGET_CHANGED");
15 this:RegisterEvent("PARTY_MEMBERS_CHANGED");
16 this:RegisterEvent("PARTY_MEMBER_ENABLE");
17  
18 end
19  
20 function ClassIcons_CmdHandler(msg)
21  
22 if ( msg == "on" ) then
23 CLASSICONS_CONFIG.Active = true;
24 DEFAULT_CHAT_FRAME:AddMessage("[ClassIcons] Activated.");
25  
26 ClassIcons_OnEvent["PLAYER_ENTERING_WORLD"]();
27 ClassIcons_OnEvent["PLAYER_TARGET_CHANGED"]();
28 ClassIcons_OnEvent["PARTY_MEMBERS_CHANGED"]();
29  
30 return;
31 end
32  
33 if ( msg == "off" ) then
34 CLASSICONS_CONFIG.Active = false;
35 DEFAULT_CHAT_FRAME:AddMessage("[ClassIcons] Deactivated.");
36  
37 ClassIcons_OnEvent["PLAYER_ENTERING_WORLD"]();
38 ClassIcons_OnEvent["PLAYER_TARGET_CHANGED"]();
39 ClassIcons_OnEvent["PARTY_MEMBERS_CHANGED"]();
40  
41 return;
42 end
43  
44 DEFAULT_CHAT_FRAME:AddMessage("[ClassIcons] Use on/off to control icon visibility.");
45  
46 end
47  
48 function ClassIcons_UpdateIcon(frame, unit)
49  
50 if ( not frame ) or ( not unit ) then
51 return;
52 end
53  
54 local icon = getglobal(frame.."ClassIcon");
55 local texture = getglobal(frame.."ClassIconTexture");
56  
57 if ( not icon ) or ( not texture ) then
58 return;
59 end
60  
61 if ( CLASSICONS_CONFIG.Active == false ) then
62 if ( icon:IsVisible() ) then icon:Hide(); end
63 return;
64 end
65  
66 local localizedClass, englishClass = UnitClass(unit);
67  
68 if ( not englishClass ) then
69 return;
70 end
71  
72 if ( not icon:IsVisible() ) then
73 icon:Show();
74 end
75  
76 texture:SetTexture("Interface\\AddOns\\ClassIcons\\Icons\\"..englishClass);
77  
78 end
79  
80 function ClassIcons_OnEvent(event)
81  
82 if ( event == "VARIABLES_LOADED" ) then
83  
84 if ( CLASSICONS_CONFIG == nil ) then
85 CLASSICONS_CONFIG = { };
86 end
87  
88 if ( CLASSICONS_CONFIG.Active == nil ) then
89 CLASSICONS_CONFIG.Active = true;
90 end
91  
92 elseif ( event == "PLAYER_ENTERING_WORLD" ) then
93  
94 ClassIcons_UpdateIcon("PlayerFrame", "player");
95  
96 elseif ( event == "PLAYER_TARGET_CHANGED" ) then
97  
98 ClassIcons_UpdateIcon("TargetFrame", "target");
99  
100 elseif ( event == "PARTY_MEMBERS_CHANGED" ) or
101 ( event == "PARTY_MEMBER_ENABLE" ) then
102  
103 for i = 1, 4 do
104  
105 ClassIcons_UpdateIcon("PartyMemberFrame"..i, "party"..i);
106  
107 end
108  
109 end
110  
111 end
112  
113 function ClassIcons_Icon_OnLoad()
114 this:SetFrameLevel(this:GetFrameLevel()+2);
115 end
116