#pragma once #include #include #include "core/rendering/notifier.hpp" // Temes per a les notificacions de pantalla. Un "preset" captura els dos // colors (text i fons, índexs sobre la paleta "ui") i el temps de visibilitat // en mil·lisegons. Per a llançar una notificació amb un preset concret, // cridar Notification::notify(text, preset); si s'omet, s'usa DEFAULT. namespace Notification { struct Preset { Uint8 text_color; Uint8 bg_color; int time_ms; }; // Tema per defecte: text clar sobre fons fosc, 2 segons de visibilitat. // Per a ajustar l'aparença global de totes les notificacions sense // presetejar-les manualment, toca només aquest bloc. constexpr Preset DEFAULT{ .text_color = 197, .bg_color = 96, .time_ms = 4000, }; // Preset per al missatge de confirmació d'eixida (ESC doble). Color // d'accent per a distingir-lo d'una notificació informativa; la durada // coincideix amb la finestra durant la qual la segona pulsació d'ESC // confirma el tancament — veure GlobalInputs::onExit. constexpr Preset EXIT{ .text_color = 88, .bg_color = 40, .time_ms = 4000, }; // Helper de conveniència: aplica un preset (per defecte DEFAULT) cridant // la API crua de Notifier. La direcció game → core és la correcta. inline void notify(const std::string& text, const Preset& preset = DEFAULT) { Notifier::get().notify(text, preset.text_color, preset.bg_color, preset.time_ms); } } // namespace Notification