cocos2dx C++自定义线程安全消息管理(二)

2015-01-27 10:00:45 · 作者: · 浏览: 23
iner) { if (msgName == msg->getMessageName() &&(target == msg->getTarget()||!target)) { _msgContainer.eraseObject(msg,true); return true; } } return false; } bool MessageMsg::removeAllObservers( cocos2d::Ref* target ) { std::lock_guard ul(_ContainerMutex); for (auto &msg : _msgContainer) { if (target == msg->getTarget()) { _msgContainer.eraseObject(msg,true); return true; } } return false; } ////////////////////////////////////////////////////////////////////////// /// XMessage Class ///////////////////////////////////////////////////////////////////////// XMessage::XMessage( const std::string &msgName,cocos2d::Ref* target, cocos2d::SEL_CallFuncO selector,cocos2d::Ref* msgContent ) :_msgName(msgName),_target(target),_selector(selector),_msgContent(msgContent) { } XMessage::~XMessage() { } void XMessage::handerMessage( cocos2d::Ref* msgContent ) { if (_target) { if (msgContent) { (_target->*_selector)(msgContent); } else { (_target->*_selector)(msgContent); } } }



四、申明

本文原创,为尊重原创,转载时请注明出处。 http://blog.csdn.net/q229827701/article/details/41042147