vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 ----------------------------------------------------------------------
2 -- TitanGuildFilterMenu.lua
3 -- code for filtering the button contents
4 ----------------------------------------------------------------------
5  
6 ----------------------------------------------------------------------
7 -- TitanPanelGuildButton_IsPassFilter()
8 -- checks player selected filters against guild data
9 ----------------------------------------------------------------------
10 function TitanPanelGuildButton_IsPassFilter(member_zone, member_level, member_class)
11 -- init to true by default
12 local showMember = true;
13 local zoneFilterPass = true;
14 local levelFilterPass = true;
15 local classFilterPass = true;
16  
17 local playerZone = "";
18 local levelMax = TitanPanelGuildButton_GetMaxLevel();
19 local levelMin = TitanPanelGuildButton_GetMinLevel();
20 -- init zone
21 playerZone = GetZoneText();
22 -- check level
23 if (TitanGetVar(TITAN_GUILD_ID, "FilterMyZone")) then
24 if (member_zone == playerZone) then
25 zoneFilterPass = true;
26 else
27 zoneFilterPass = false;
28 end
29 end
30 -- check zone
31 if (TitanGetVar(TITAN_GUILD_ID, "FilterMyLevel")) then
32 if (member_level >= levelMin and member_level <= levelMax) then
33 levelFilterPass = true;
34 else
35 levelFilterPass = false;
36 end
37 end
38 -- check class
39 if (TitanGetVar(TITAN_GUILD_ID, "FilterClasses")) then
40 if (member_class == TitanGetVar(TITAN_GUILD_ID, "FilterClasses")) then
41 classFilterPass = true;
42 else
43 classFilterPass = false;
44 end
45 end
46 -- check all filters and returned combined logical value
47 if (zoneFilterPass and levelFilterPass and classFilterPass) then
48 showMember = true;
49 else
50 showMember = false;
51 end
52  
53 return showMember;
54 end
55  
56 ----------------------------------------------------------------------
57 -- TitanPanelGuildButton_BuildClassFilterMenu()
58 ----------------------------------------------------------------------
59 function TitanPanelGuildButton_BuildClassFilterMenu()
60 local classListValues = {};
61 local classListLabels = {};
62 local playerFaction = "";
63 playerFaction = UnitFactionGroup("player");
64 if (playerFaction == "Horde") then
65 classListValues = hordeClassValues;
66 classListLabels = hordeClassLabels;
67 else
68 classListValues = allianceClassValues;
69 classListLabels = allianceClassLabels;
70 end
71 local classIndex;
72 TitanPanelRightClickMenu_AddTitle(UIDROPDOWNMENU_MENU_VALUE, UIDROPDOWNMENU_MENU_LEVEL);
73 for classIndex = 1, table.getn(classListValues) do
74 info = {};
75 info.text = classListLabels[classIndex];
76 info.value = classListValues[classIndex];
77 info.func = TitanPanelGuildButton_AddClassFilter;
78 if (classListValues[classIndex] == TitanGetVar(TITAN_GUILD_ID, "FilterClasses")) then
79 info.checked = 1;
80 end
81 UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
82 end
83 TitanPanelRightClickMenu_AddCommand(TITAN_GUILD_MENU_HIDE, TITAN_GUILD_ID, TITAN_GUILD_BUTTON_CLOSEMENU, UIDROPDOWNMENU_MENU_LEVEL);
84 end