#pragma once #include #include namespace sead { template class IDelegate2; class DelegateThread : public Thread { public: DelegateThread(const SafeString& name, IDelegate2* delegate, Heap* heap, s32 priority, MessageQueue::BlockType block_type, MessageQueue::Element quit_msg, s32 stack_size, s32 message_queue_size); ~DelegateThread() override; protected: void calc_(MessageQueue::Element msg) override; IDelegate2* mDelegate; }; } // namespace sead