]> de.git.xonotic.org Git - voretournament/voretournament.git/blob - data/qcsrc/menu/voret/dialog_teamselect.c
Optimize menu code for my last change
[voretournament/voretournament.git] / data / qcsrc / menu / voret / dialog_teamselect.c
1 #ifdef INTERFACE\r
2 CLASS(VoretTeamSelectDialog) EXTENDS(VoretRootDialog)\r
3         METHOD(VoretTeamSelectDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls\r
4         METHOD(VoretTeamSelectDialog, showNotify, void(entity))\r
5         ATTRIB(VoretTeamSelectDialog, title, string, "Team Selection") // ;)\r
6         ATTRIB(VoretTeamSelectDialog, color, vector, SKINCOLOR_DIALOG_TEAMSELECT)\r
7         ATTRIB(VoretTeamSelectDialog, intendedWidth, float, 0.4)\r
8         ATTRIB(VoretTeamSelectDialog, rows, float, 5)\r
9         ATTRIB(VoretTeamSelectDialog, columns, float, 4)\r
10         ATTRIB(VoretTeamSelectDialog, name, string, "TeamSelect")\r
11         ATTRIB(VoretTeamSelectDialog, team1, entity, NULL)\r
12         ATTRIB(VoretTeamSelectDialog, team2, entity, NULL)\r
13         ATTRIB(VoretTeamSelectDialog, team3, entity, NULL)\r
14         ATTRIB(VoretTeamSelectDialog, team4, entity, NULL)\r
15 ENDCLASS(VoretTeamSelectDialog)\r
16 #endif\r
17 \r
18 #ifdef IMPLEMENTATION\r
19 entity makeTeamButton(string theName, vector theColor, string commandtheName)\r
20 {\r
21         entity b;\r
22         b = makeVoretBigCommandButton(theName, theColor, commandtheName, 1);\r
23         return b;\r
24 }\r
25 \r
26 void showNotifyVoretTeamSelectDialog(entity me)\r
27 {\r
28         float teams, nTeams;\r
29         teams = cvar("_teams_available");\r
30         nTeams = 0;\r
31         me.team1.disabled = !(teams & 1); nTeams += !!(teams & 1);\r
32         me.team2.disabled = !(teams & 2); nTeams += !!(teams & 2);\r
33         me.team3.disabled = !(teams & 4); nTeams += !!(teams & 4);\r
34         me.team4.disabled = !(teams & 8); nTeams += !!(teams & 8);\r
35 }\r
36 \r
37 void fillVoretTeamSelectDialog(entity me)\r
38 {\r
39         entity e;\r
40         me.TR(me);\r
41                 me.TD(me, 2, 4, e = makeTeamButton("join 'best' team (auto-select)", '0 0 0', "cmd selectteam auto; cmd join"));\r
42                         e.preferredFocusPriority = 1;\r
43         me.TR(me);\r
44         me.TR(me);\r
45                 me.TD(me, 2, 1, me.team1 = makeTeamButton("red", '1 0.5 0.5', "cmd selectteam red; cmd join"));\r
46                 me.TD(me, 2, 1, me.team2 = makeTeamButton("blue", '0.5 0.5 1', "cmd selectteam blue; cmd join"));\r
47                 me.TD(me, 2, 1, me.team3 = makeTeamButton("yellow", '1 1 0.5', "cmd selectteam yellow; cmd join"));\r
48                 me.TD(me, 2, 1, me.team4 = makeTeamButton("pink", '1 0.5 1', "cmd selectteam pink; cmd join"));\r
49         me.TR(me);\r
50         me.TR(me);\r
51                 me.TD(me, 1, 4, makeVoretCommandButton("spectate", '0 0 0', "cmd spectate", 1));\r
52 }\r
53 #endif\r
54 \r
55 /* Click. The c-word is here so you can grep for it :-) */\r