vanilla-wow-addons – Blame information for rev 1
?pathlinks?
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 |