return -1;
}
+ level_picker_clean_selection(game->level_picker);
game_switch_state(game, GAME_STATE_LEVEL);
} break;
if (game->level == NULL) {
return -1;
}
+
+ level_picker_clean_selection(game->level_picker);
game_switch_state(game, GAME_STATE_LEVEL);
} break;
}
// State event handling
switch (game->state) {
- case GAME_STATE_LEVEL:
+ case GAME_STATE_LEVEL: {
+ if (event->key.keysym.sym == SDLK_ESCAPE) {
+ game_switch_state(game, GAME_STATE_LEVEL_PICKER);
+ return 0;
+ }
return game_event_running(game, event);
+ }
case GAME_STATE_LEVEL_PICKER:
return game_event_level_picker(game, event);
return -1;
}
+ level_picker_clean_selection(game->level_picker);
game_switch_state(game, GAME_STATE_LEVEL);
return 0;