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