Created LevelSelectorState

- code removed from main.cpp and added into a new class
This commit is contained in:
2025-08-17 09:10:49 +02:00
parent eddd1a24b2
commit 0e0519b0e9
9 changed files with 346 additions and 173 deletions

View File

@ -138,13 +138,7 @@ void MenuState::render(SDL_Renderer* renderer, float logicalScale, SDL_Rect logi
menu_drawMenuButton(renderer, *ctx.pixelFont, btnX + btnW * 0.6f, btnY, btnW, btnH, std::string(levelBtnText), SDL_Color{40,140,240,255}, SDL_Color{20,100,200,255});
}
// Popups (level/settings) if requested
if (ctx.showLevelPopup && *ctx.showLevelPopup) {
// call wrapper which will internally draw on top of current content
// prefer pixelFont for retro look
FontAtlas* useFont = ctx.pixelFont ? ctx.pixelFont : ctx.font;
menu_drawLevelSelectionPopup(renderer, *useFont, ctx.backgroundTex, ctx.startLevelSelection ? *ctx.startLevelSelection : 0);
}
// Popups (settings only - level popup is now a separate state)
if (ctx.showSettingsPopup && *ctx.showSettingsPopup) {
menu_drawSettingsPopup(renderer, *ctx.font, ctx.musicEnabled ? *ctx.musicEnabled : false);
}