22 using EventFuncPtr = std::function<EventResult(T0&)>;
24 std::vector<T0*> mListeners;
25 std::vector<EventFuncPtr> mEventsToProcess;
26 std::vector<T0*> mPendingRegistrations;
27 bool mHasPendingRegistrations{};
28 std::thread::id mThreadId;
29 bool mThreadIdInitialized{};
30 uint mThreadCheckIndex{};
34 MCAPI
bool registerListener(gsl::not_null<T0*> listener);
36 MCAPI
void processEvent(EventFuncPtr processor);
38 template <
class T1,
class T2>
39 MCAPI
auto _processEvent(T1*, T2& event) {
40 return EventCoordinatorDetail::gameplayEventReturn(event);