]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu/nexuiz/dialog_teamselect.c
menu-div0test -> menu
[divverent/nexuiz.git] / data / qcsrc / menu / nexuiz / dialog_teamselect.c
1 #ifdef INTERFACE
2 CLASS(NexuizTeamSelectDialog) EXTENDS(NexuizRootDialog)
3         METHOD(NexuizTeamSelectDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
4         METHOD(NexuizTeamSelectDialog, showNotify, void(entity))
5         ATTRIB(NexuizTeamSelectDialog, title, string, "Team Selection") // ;)
6         ATTRIB(NexuizTeamSelectDialog, color, vector, SKINCOLOR_DIALOG_TEAMSELECT)
7         ATTRIB(NexuizTeamSelectDialog, intendedWidth, float, 0.4)
8         ATTRIB(NexuizTeamSelectDialog, rows, float, 5)
9         ATTRIB(NexuizTeamSelectDialog, columns, float, 4)
10         ATTRIB(NexuizTeamSelectDialog, name, string, "TeamSelect")
11         ATTRIB(NexuizTeamSelectDialog, team1, entity, NULL)
12         ATTRIB(NexuizTeamSelectDialog, team2, entity, NULL)
13         ATTRIB(NexuizTeamSelectDialog, team3, entity, NULL)
14         ATTRIB(NexuizTeamSelectDialog, team4, entity, NULL)
15 ENDCLASS(NexuizTeamSelectDialog)
16 #endif
17
18 #ifdef IMPLEMENTATION
19 entity makeTeamButton(string theName, vector theColor, string commandtheName)
20 {
21         entity b;
22         b = makeNexuizCommandButton(theName, theColor, commandtheName, 1);
23         return b;
24 }
25
26 void showNotifyNexuizTeamSelectDialog(entity me)
27 {
28         float teams, nTeams;
29         teams = cvar("_teams_available");
30         nTeams = 0;
31         me.team1.disabled = !(teams & 1); nTeams += !!(teams & 1);
32         me.team2.disabled = !(teams & 2); nTeams += !!(teams & 2);
33         me.team3.disabled = !(teams & 4); nTeams += !!(teams & 4);
34         me.team4.disabled = !(teams & 8); nTeams += !!(teams & 8);
35 }
36
37 void fillNexuizTeamSelectDialog(entity me)
38 {
39         me.TR(me);
40                 me.TD(me, 2, 4, makeTeamButton("auto", '0 0 0', "cmd selectteam auto; cmd join"));
41         me.TR(me);
42         me.TR(me);
43                 me.TD(me, 2, 1, me.team1 = makeTeamButton("red", '1 0.5 0.5', "cmd selectteam red; cmd join"));
44                 me.TD(me, 2, 1, me.team2 = makeTeamButton("blue", '0.5 0.5 1', "cmd selectteam blue; cmd join"));
45                 me.TD(me, 2, 1, me.team3 = makeTeamButton("yellow", '1 1 0.5', "cmd selectteam yellow; cmd join"));
46                 me.TD(me, 2, 1, me.team4 = makeTeamButton("pink", '1 0.5 1', "cmd selectteam pink; cmd join"));
47         me.TR(me);
48         me.TR(me);
49                 me.TD(me, 1, 4, makeTeamButton("spectate", '0 0 0', "cmd spectate"));
50 }
51 #endif
52
53 // click. The C-word so you can grep for it.