input manager provides ground of truth on device input choise
This commit is contained in:
17
basic1.cpp
17
basic1.cpp
@@ -321,17 +321,17 @@ int main()
|
||||
InputManager input_manager(touch, &config);
|
||||
|
||||
// Create GameLauncher
|
||||
GameLauncher launcher(V_WIDTH, V_HEIGHT, &renderer, &gui);
|
||||
GameLauncher launcher(V_WIDTH, V_HEIGHT, &renderer, &gui, &input_manager);
|
||||
|
||||
// Register available games
|
||||
launcher.register_game("Tic-Tac-Toe", "Classic 2-player game",
|
||||
[](uint16_t w, uint16_t h, LowLevelRenderer* r, LowLevelGUI* g) -> Game* {
|
||||
return new TicTacToeGame(w, h, r, g);
|
||||
[](uint16_t w, uint16_t h, LowLevelRenderer* r, LowLevelGUI* g, InputManager* im) -> Game* {
|
||||
return new TicTacToeGame(w, h, r, g, im);
|
||||
});
|
||||
|
||||
launcher.register_game("Demo Game", "Simple test game",
|
||||
[](uint16_t w, uint16_t h, LowLevelRenderer* r, LowLevelGUI* g) -> Game* {
|
||||
return new DemoGame(w, h, r, g);
|
||||
[](uint16_t w, uint16_t h, LowLevelRenderer* r, LowLevelGUI* g, InputManager* im) -> Game* {
|
||||
return new DemoGame(w, h, r, g, im);
|
||||
});
|
||||
|
||||
// Draw launcher menu
|
||||
@@ -443,6 +443,13 @@ int main()
|
||||
current_game = launcher.get_selected_game();
|
||||
needs_refresh = current_game->update(input);
|
||||
|
||||
// Check if game wants to exit
|
||||
if (current_game->wants_to_exit()) {
|
||||
printf("Game requested exit - returning to launcher\n");
|
||||
launcher.reset();
|
||||
needs_refresh = true;
|
||||
}
|
||||
|
||||
// Check if player wants to exit (hold for 2+ seconds or special gesture)
|
||||
// For now, we'll add a simple long-press detection
|
||||
if (input.type == INPUT_TOUCH_DOWN) {
|
||||
|
||||
Reference in New Issue
Block a user