METHOD(Button, mousePress, float(entity, vector))
METHOD(Button, mouseDrag, float(entity, vector))
METHOD(Button, mouseRelease, float(entity, vector))
- ATTRIB(Button, onClick, void(entity, entity), SUB_Null)
+ METHOD(Button, focusEnter, void(entity))
+ ATTRIB(Button, onClick, void(entity, entity), func_null)
ATTRIB(Button, onClickEntity, entity, NULL)
ATTRIB(Button, src, string, string_null)
ATTRIB(Button, srcSuffix, string, string_null)
float Button_mousePress(entity me, vector pos)
{
me.mouseDrag(me, pos); // verify coordinates
- if(cvar("menu_sounds"))
- localsound("sound/misc/menu2.wav");
return 1;
}
float Button_mouseRelease(entity me, vector pos)
if(me.pressed)
{
if not(me.disabled)
- me.onClick(me, me.onClickEntity);
+ {
+ if(cvar("menu_sounds"))
+ localsound("sound/misc/menu2.wav");
+ if(me.onClick)
+ me.onClick(me, me.onClickEntity);
+ }
me.pressed = 0;
}
return 1;
{
me.focusable = !me.disabled;
}
-.float playedfocus;
+void Button_focusEnter(entity me)
+{
+ if(cvar("menu_sounds") > 1)
+ localsound("sound/misc/menu1.wav");
+ SUPER(Button).focusEnter(me);
+}
void Button_draw(entity me)
{
vector bOrigin, bSize;
draw_alpha = save;
- SUPER(Button).draw(me);
-
if(me.clickTime > 0 && me.clickTime <= frametime)
{
// keyboard click timer expired? Fire the event then.
if not(me.disabled)
- me.onClick(me, me.onClickEntity);
+ if(me.onClick)
+ me.onClick(me, me.onClickEntity);
}
me.clickTime -= frametime;
- if(cvar("menu_sounds") > 1)
- if(me.focused && !me.playedfocus)
- {
- localsound("sound/misc/menu1.wav");
- me.playedfocus = 1;
- }
- else if(!me.focused && me.playedfocus)
- me.playedfocus = 0;
+ SUPER(Button).draw(me);
}
-#endif
\ No newline at end of file
+#endif