//消息中心 #ifndef RUMsgCenter_h #define RUMsgCenter_h #include "RUDefine.h" #include #include "RUMsg.h" #define STORY_EVENT_CENTERKEY ("STORY_EVENT_CENTERKEY") //家装剧情msgCenter的key NS_RU_BEGIN #define gMsgCenter(key) redutils::MsgCenter::instance(key) class MsgSubscriber; class MsgCenter { public: static MsgCenter* instance(std::string key4MsgCenter); void receiveMsg(Msg* msg); void addSubscriber(kMsgTopic msgTopic, MsgSubscriber* msgSubscriber, int priority = 0); void removeSubscriber(kMsgTopic msgTopic, MsgSubscriber* msgSubscriber); private: MsgCenter() = default; ~MsgCenter() = default; private: static std::unordered_map _gMsgCenters; std::unordered_map> _subscriberMap; }; NS_RU_END #endif /* RUMsgCenter_h */