// // Created by SymĂ©on on 02/03/2019. // #ifndef FEIS_NOTIFICATIONSQUEUE_H #define FEIS_NOTIFICATIONSQUEUE_H #include #include #include "Notification.h" /* * Responsible for displaying the notifications with a fadeout effect */ class NotificationsQueue { public: explicit NotificationsQueue(int max_size = 10): max_size(max_size) {}; void push(const std::shared_ptr ¬ification); void display(); private: void update(); float time_to_alpha(float seconds) {return std::max(0.0f,2.0f*(0.5f-seconds));} sf::Clock last_push; const int max_size; std::deque> queue; }; #endif //FEIS_NOTIFICATIONSQUEUE_H