Esempio n. 1
0
        protected override GUIFSM <CheckBox> CreateFSM()
        {
            var idle = new CheckBoxState();

            idle.AddTransition(GUIEventID.FocusGained, 1);
            var focused = new FocusedState();

            focused.AddTransition(GUIEventID.FocusLost, 0);

            return(new GUIFSM <CheckBox>(this, new GUIState <CheckBox>[] { idle, focused }));
        }
Esempio n. 2
0
        protected override GUIFSM <ScrollBase> CreateFSM()
        {
            var idle = new SliderState();

            idle.AddTransition(GUIEventID.FocusGained, 1);
            var focused = new FocusedState();

            focused.AddTransition(GUIEventID.FocusLost, 0);
            focused.AddTransition(GUIEventID.LeftMouseDown, 2);
            var mouseMove = new MouseMoveState();

            mouseMove.AddTransition(GUIEventID.LeftMouseUp, 1);
            mouseMove.AddTransition(GUIEventID.FocusLost, 0);

            return(new GUIFSM <ScrollBase>(this, new GUIState <ScrollBase>[] { idle, focused, mouseMove }));
        }
Esempio n. 3
0
        protected override GUIFSM <Button> CreateFSM()
        {
            var iState = new ButtonState();

            iState.AddTransition(GUIEventID.MouseEnter, 1);
            iState.AddTransition(GUIEventID.FocusGained, 2);

            var hState = new ButtonState();

            hState.AddTransition(GUIEventID.MouseExit, 0);
            hState.AddTransition(GUIEventID.FocusGained, 3);

            var fState = new FocusedState();

            fState.AddTransition(GUIEventID.FocusLost, 0);
            fState.AddTransition(GUIEventID.MouseEnter, 3);

            var fhState = new FocusedState();

            fhState.AddTransition(GUIEventID.FocusLost, 1);
            fhState.AddTransition(GUIEventID.MouseExit, 2);
            fhState.AddTransition(GUIEventID.LeftMouseDown, 4);

            var phState = new PressedState();

            phState.AddTransition(GUIEventID.LeftMouseUp, 3);
            phState.AddTransition(GUIEventID.MouseExit, 5);
            phState.AddTransition(GUIEventID.FocusLost, 1);

            var pState = new FocusedState();

            pState.AddTransition(GUIEventID.MouseEnter, 4);
            pState.AddTransition(GUIEventID.LeftMouseUp, 2);
            pState.AddTransition(GUIEventID.FocusLost, 0);

            return(new GUIFSM <Button>(this, new GUIState <Button>[] { iState, hState, fState, fhState, phState, pState }));
        }