15 lines
575 B
C++
15 lines
575 B
C++
#pragma once
|
|
#include "Queue.h"
|
|
#include "Singleton/Singleton.h"
|
|
#include "ThreadMessage.h"
|
|
|
|
#define PUSH_THREAD_EVENT(Message, ...) (new FThreadMessage_##Message(FThreadMessage_##Message::FArgs{__VA_ARGS__}))->PushToThread()
|
|
|
|
// #define PUSH_THREAD_EVENT(Thread, Message, ...) Thread::Get().PushMessage(new FThreadMessage_##Message(FThreadMessage_##Message::FArgs{__VA_ARGS__}))
|
|
|
|
class FMainThreadEventList : public TSingleton<FMainThreadEventList>, public TQueue<FThreadMessage*, EQueueMode::Mpsc>
|
|
{
|
|
public:
|
|
virtual FName GetName() override { return "MainThread"; }
|
|
};
|