]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/weaponarenacheckbox.qc
Sort menu classes
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / weaponarenacheckbox.qc
1 #ifndef WEAPONARENACHECKBOX_H
2 #define WEAPONARENACHECKBOX_H
3 CLASS(XonoticWeaponarenaCheckBox, CheckBox)
4         METHOD(XonoticWeaponarenaCheckBox, configureXonoticWeaponarenaCheckBox, void(entity, string, string))
5         METHOD(XonoticWeaponarenaCheckBox, setChecked, void(entity, float))
6         ATTRIB(XonoticWeaponarenaCheckBox, fontSize, float, SKINFONTSIZE_NORMAL)
7         ATTRIB(XonoticWeaponarenaCheckBox, image, string, SKINGFX_CHECKBOX)
8         ATTRIB(XonoticWeaponarenaCheckBox, netname, string, string_null)
9
10         METHOD(XonoticWeaponarenaCheckBox, loadCvars, void(entity))
11         METHOD(XonoticWeaponarenaCheckBox, saveCvars, void(entity))
12 ENDCLASS(XonoticWeaponarenaCheckBox)
13 entity makeXonoticWeaponarenaCheckBox(string, string);
14 #endif
15
16 #ifdef IMPLEMENTATION
17 entity makeXonoticWeaponarenaCheckBox(string theWeapon, string theText)
18 {
19         entity me;
20         me = NEW(XonoticWeaponarenaCheckBox);
21         me.configureXonoticWeaponarenaCheckBox(me, theWeapon, theText);
22         return me;
23 }
24 void XonoticWeaponarenaCheckBox_configureXonoticWeaponarenaCheckBox(entity me, string theWeapon, string theText)
25 {
26         me.netname = theWeapon;
27         me.checked = false;
28         me.loadCvars(me);
29         me.configureCheckBox(me, theText, me.fontSize, me.image);
30 }
31 void XonoticWeaponarenaCheckBox_setChecked(entity me, float foo)
32 {
33         me.checked = !me.checked;
34         me.saveCvars(me);
35 }
36 void XonoticWeaponarenaCheckBox_loadCvars(entity me)
37 {
38         float n = tokenize_console(cvar_string("menu_weaponarena"));
39         float i;
40         for(i=0; i<n; ++i)
41         {
42                 if(argv(i) == me.netname)
43                 {
44                         me.checked = true;
45                         break;
46                 }
47         }
48 }
49
50 void XonoticWeaponarenaCheckBox_saveCvars(entity me)
51 {
52         if(me.checked)
53                 localcmd(strcat("\nmenu_cmd addtolist menu_weaponarena ", me.netname, "\n"));
54         else
55                 localcmd(strcat("\nmenu_cmd removefromlist menu_weaponarena ", me.netname, "\n"));
56         localcmd("\ng_weaponarena \"$menu_weaponarena\"\n");
57 }
58 #endif