Actually look in the right place for subscriptions.
This commit is contained in:
@@ -218,6 +218,12 @@ void MessageManager::Broadcast( MessageID m ) const
|
||||
Broadcast( MessageIDToString(m) );
|
||||
}
|
||||
|
||||
bool MessageManager::IsSubscribedToMessage( IMessageSubscriber* pSubscriber, const RString &sMessage ) const
|
||||
{
|
||||
SubscribersSet& subs = g_MessageToSubscribers[sMessage];
|
||||
return subs.find( pSubscriber ) != subs.end();
|
||||
}
|
||||
|
||||
void IMessageSubscriber::ClearMessages( const RString sMessage )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -159,8 +159,6 @@ public:
|
||||
//
|
||||
void SubscribeToMessage( MessageID message ); // will automatically unsubscribe
|
||||
void SubscribeToMessage( const RString &sMessageName ); // will automatically unsubscribe
|
||||
inline bool IsSubscribedToMessage( const RString &sMessageName ) const { return find( m_vsSubscribedTo.begin(), m_vsSubscribedTo.end(), sMessageName ) != m_vsSubscribedTo.end(); }
|
||||
inline bool IsSubscribedToMessage( MessageID message ) const { return IsSubscribedToMessage( MessageIDToString(message) ); }
|
||||
|
||||
void UnsubscribeAll();
|
||||
|
||||
@@ -182,6 +180,8 @@ public:
|
||||
void Broadcast( Message &msg ) const;
|
||||
void Broadcast( const RString& sMessage ) const;
|
||||
void Broadcast( MessageID m ) const;
|
||||
bool IsSubscribedToMessage( IMessageSubscriber* pSubscriber, const RString &sMessage ) const;
|
||||
inline bool IsSubscribedToMessage( IMessageSubscriber* pSubscriber, MessageID message ) const { return IsSubscribedToMessage( pSubscriber, MessageIDToString(message) ); }
|
||||
|
||||
// Lua
|
||||
void PushSelf( lua_State *L );
|
||||
|
||||
@@ -29,7 +29,7 @@ void ScreenSelect::Init()
|
||||
for( unsigned i = 0; i < m_asSubscribedMessages.size(); ++i )
|
||||
MESSAGEMAN->Subscribe( this, m_asSubscribedMessages[i] );
|
||||
// Only subscribe once.
|
||||
if( !this->IsSubscribedToMessage(Message_PlayerJoined) )
|
||||
if( !MESSAGEMAN->IsSubscribedToMessage(this, Message_PlayerJoined) )
|
||||
this->SubscribeToMessage( Message_PlayerJoined );
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user