Actually look in the right place for subscriptions.

This commit is contained in:
Steve Checkoway
2009-01-05 08:46:22 +00:00
parent 73f3c134f8
commit 3f800ece3d
3 changed files with 9 additions and 3 deletions
+6
View File
@@ -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 )
{
}
+2 -2
View File
@@ -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 );
+1 -1
View File
@@ -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 );
//