/// <summary> /// Handles the key events. For key up, key down and enter. /// </summary> /// <param name="keyValue">The given key pressed</param> /// <param name="keyAction">Registers if a certain button is pressed or released</param> public void HandleKeyEvent(string keyValue, string keyAction) { if (keyAction == "KEY_PRESS") { switch (keyValue) { case "KEY_UP": if (activeMenuButton == 0) { activeMenuButton = maxMenuButtons - 1; } else { activeMenuButton -= 1; } break; case "KEY_DOWN": if (activeMenuButton == maxMenuButtons - 1) { activeMenuButton = 0; } else { activeMenuButton += 1; } break; case "KEY_ENTER": switch (activeMenuButton) { case 0: GameRunning.ResetGameRunning(); GameLevels.Levelcount = 0; SpaceBus.GetBus().RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "GAME_RUNNING", "", "")); break; case 1: SpaceBus.GetBus().RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "MAIN_MENU", "", "")); break; default: break; } break; default: break; } } }
/// <summary> /// Handles the key events. Such as the key enter, sets the player back to main menu. /// </summary> /// <param name="keyValue">The given key pressed</param> /// <param name="keyAction">Registers if a certain button is pressed or released</param> public void HandleKeyEvent(string keyValue, string keyAction) { if (keyAction == "KEY_PRESS") { switch (keyValue) { case "KEY_UP": if (activeMenuButton == 0) { activeMenuButton = maxMenuButtons - 1; } else { activeMenuButton -= 1; } break; case "KEY_DOWN": if (activeMenuButton == maxMenuButtons - 1) { activeMenuButton = 0; } else { activeMenuButton += 1; } break; case "KEY_ENTER": switch (activeMenuButton) { case 0: GameRunning.ResetGameRunning(); SpaceBus.GetBus().RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "GAME_LEVELS", "", "")); break; case 1: GameRunning.ResetGameRunning(); SpaceBus.GetBus().RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "GAME_CONTROLS", "", "")); break; case 2: SpaceBus.GetBus().RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "", "")); break; } break; } } }