Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
48 lines
874 B
C++
48 lines
874 B
C++
#include "stdafx.h"
|
|
#include "MsgProc.h"
|
|
|
|
CMsgProcessMgr::CMsgProcessMgr()
|
|
{
|
|
|
|
}
|
|
|
|
CMsgProcessMgr::~CMsgProcessMgr()
|
|
{
|
|
Clear();
|
|
}
|
|
|
|
|
|
bool CMsgProcessMgr::Register(UINT uMsg, CMsgProc* lpMsgProcessProc)
|
|
{
|
|
return m_MessageProcessMap.insert(
|
|
MessageProcessMap::value_type(uMsg, lpMsgProcessProc)).second;
|
|
}
|
|
|
|
|
|
bool CMsgProcessMgr::Remove(UINT uMsg)
|
|
{
|
|
return (0 != m_MessageProcessMap.erase(uMsg));
|
|
}
|
|
|
|
|
|
CMsgProc* CMsgProcessMgr::FindMsgProc(UINT uMsg)
|
|
{
|
|
MessageProcessMap::iterator find = m_MessageProcessMap.find(uMsg);
|
|
MessageProcessMap::iterator end = m_MessageProcessMap.end();
|
|
|
|
return (find != end) ? find->second : 0;
|
|
}
|
|
|
|
|
|
void CMsgProcessMgr::Clear()
|
|
{
|
|
MessageProcessMap::iterator pos = m_MessageProcessMap.begin();
|
|
MessageProcessMap::iterator end = m_MessageProcessMap.end();
|
|
|
|
for(; pos != end; ++pos)
|
|
{
|
|
delete pos->second;
|
|
}
|
|
|
|
m_MessageProcessMap.clear();
|
|
} |