17 using event = std::function<void(UEvent&)>;
22 template<
typename UObject,
typename UCallback>
23 void subscribe(UObject* p_instance,
const UCallback& p_callback) {
24 m_event_handlers.push_back(
25 [p_instance, p_callback](UEvent& p_event) {
26 (p_instance->*p_callback)(p_event);
31 void notify_all(UEvent& p_event) {
32 for (
const auto& callback : m_event_handlers) {
38 std::deque<event> m_event_handlers;