feat(service-menu): esquelet amb F12, brackets sci-fi i highlight animat

This commit is contained in:
2026-05-24 11:25:09 +02:00
parent cc16908b86
commit 443b461974
12 changed files with 722 additions and 1 deletions
+9
View File
@@ -20,6 +20,7 @@
#include "core/resources/resource_helper.hpp"
#include "core/resources/resource_loader.hpp"
#include "core/system/notifier.hpp"
#include "core/system/service_menu.hpp"
#include "core/utils/path_utils.hpp"
#include "debug_overlay.hpp"
#include "game/config_yaml.hpp"
@@ -165,6 +166,7 @@ Director::Director(int argc, char* argv[])
cfg_->rendering);
System::Notifier::init(sdl_->getRenderer());
System::ServiceMenu::init(sdl_->getRenderer());
last_ticks_ms_ = SDL_GetTicks();
}
@@ -179,6 +181,7 @@ Director::~Director() {
// l'hem de cridar nosaltres.
current_scene_.reset();
debug_overlay_.reset();
System::ServiceMenu::destroy();
System::Notifier::destroy();
context_.reset();
sdl_.reset();
@@ -359,6 +362,9 @@ auto Director::iterate() -> SDL_AppResult {
if (auto* notifier = System::Notifier::get(); notifier != nullptr) {
notifier->update(delta_time);
}
if (auto* menu = System::ServiceMenu::get(); menu != nullptr) {
menu->update(delta_time);
}
Audio::update();
// Si la swapchain no està disponible (finestra minimitzada, etc.),
@@ -372,6 +378,9 @@ auto Director::iterate() -> SDL_AppResult {
if (const auto* notifier = System::Notifier::get(); notifier != nullptr) {
notifier->draw(); // toast: per damunt de tot
}
if (const auto* menu = System::ServiceMenu::get(); menu != nullptr) {
menu->draw(); // service menu: per damunt fins i tot dels toasts
}
sdl_->present();
return SDL_APP_CONTINUE;
}