#pragma once #include #include #include #include class User; // DWORD(GUID)¸¦ Ű·Î ÇÏ´Â À¯Àú¸Ê typedef stdext::hash_map GUSER_MAP; typedef GUSER_MAP::iterator GUSER_MAP_ITER; typedef std::pair GUSER_MAP_PAIR; // string(CharName)À» Ű·Î ÇÏ´Â À¯Àú¸Ê typedef std::map CUSER_MAP; typedef CUSER_MAP::iterator CUSER_MAP_ITER; typedef std::pair CUSER_MAP_PAIR; // GUID, CharNameÀ» Ű·Î »ç¿ëÇÏ´Â À¯Á® ¸Ê class UserList : public util::Singleton { public: UserList(); virtual ~UserList(); VOID Init(); VOID Release(); VOID Add( User *pUser ); VOID Remove( User *pUser ); User* Find( DWORD dwGUID ); User* Find( std::string charName ); VOID SendToAll( BYTE *pMsg, WORD wSize ); private: GUSER_MAP m_gmapUsers; // GUID À¯Àú¸Ê CUSER_MAP m_cmapUsers; // CharName À¯Àú¸Ê };