Exemple #1
0
        // Handles the input of the gui component
        public override void handleInput(ref InputArgs args)
        {
            // Variables
            bool	bBounds=	false;

            if(textSprites!= null)
            {
                for(int i= 0; i< textSprites.size; i++)
                {
                    if(textSprites.items[i].bvolume!= null)
                    {
                        if(textSprites.items[i].bvolume.contains(args.mouse.position))
                        {
                            bBounds=	true;

                            break;
                        }
                    }
                }
            }

            if(parent!= null && parent.focusedComp== this)
            {
                if(!isEventNull("onKeyPress") && args.keyboard.size!= 0)
                    call<KeyboardState>("onKeyPress", args.keyboard);

                if(!isEventNull("onGamepadPress") && args.gamepad.buttonsHeld!= GBL.NONE)
                    call<GamepadState>("onGamepadPress", args.gamepad);
            }

            if(!bBounds)
                click=	0;
            if(click!= 0)
            {
                if((click&1)!= 0)
                    if(args.isKeyUp(MBL.LMB))
                        click-=	1;
                if((click&2)!= 0)
                    if(args.isKeyUp(MBL.MMB))
                        click-=	2;
                if((click&4)!= 0)
                    if(args.isKeyUp(MBL.RMB))
                        click-=	4;
                if((click&8)!= 0)
                    if(args.isKeyUp(MBL.XB1))
                        click-=	8;
                if((click&16)!= 0)
                    if(args.isKeyUp(MBL.XB2))
                        click-=	16;
                if(click== 0 && bBounds)
                {
                    if(!isEventNull("onMouseClick"))
                        call<MouseState>("onMouseClick", tempClickState);
                }
            }
            if(pEnabled && !bHover && bBounds)
            {
                bHover=	true;
                if(!isEventNull("onMouseEnter"))
                    call<MouseState>("onMouseEnter", args.mouse);
            }
            if(pEnabled && bHover && bBounds)
            {
                if(!isEventNull("onMouseHover"))
                    call<MouseState>("onMouseHover", args.mouse);
                if(click== 0 && parent!= null && parent.focusedComp== this)
                {
                    if(args.isKeyDown(MBL.LMB))	click+=	1;
                    if(args.isKeyDown(MBL.MMB))	click+=	2;
                    if(args.isKeyDown(MBL.RMB))	click+=	4;
                    if(args.isKeyDown(MBL.XB1))	click+=	8;
                    if(args.isKeyDown(MBL.XB2))	click+=	16;

                    if(click!= 0)
                        tempClickState=	args.mouse;
                }
                if(parent!= null && parent.focusedComp!= this && parent.focusedComp.click== 0)
                    parent.focusedComp=	this;
            }
            if(pEnabled && bHover && !bBounds)
            {
                if(!isEventNull("onMouseLeave"))
                    call<MouseState>("onMouseLeave", args.mouse);
                bHover=	false;
            }
        }