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 })); }
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 })); }
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 })); }