#pragma once #include enum class event_type : uint8_t { NONE = 0, UPDATE, CHECK, INPUT, QUIT, }; struct event { uint8_t type{0}; bool flag{false}; }; namespace { /** * Create QUIT event */ inline event make_quit_evt(bool reload = false) { return event{static_cast(event_type::QUIT), reload}; } /** * Create UPDATE event */ inline event make_update_evt(bool force = false) { return event{static_cast(event_type::UPDATE), force}; } /** * Create INPUT event */ inline event make_input_evt() { return event{static_cast(event_type::INPUT)}; } /** * Create CHECK event */ inline event make_check_evt() { return event{static_cast(event_type::CHECK)}; } }