//note //À¯Àú¸¦ °ËÁõÇÏ´Â ¿ëµµ·Î »ç¿ëÀº ±ÝÇÔ »ìÂ¥²á È®ÀÎÁ¤µµ´Â °¡´É //Ä¿¹Â´ÏƼ°ü·Ã ÇØ¼­ »ó´ë¹æÀÇ »óŸ¦ ¾ò´Â ¿ëµµ·Î ÇÑÁ¤ #pragma once #include #include "DNServerDef.h" #include "Util.h" class CDNWorldUserState { #if defined( PRE_WORLDUSERSTATE_OPTIMIZE ) public: virtual ~CDNWorldUserState(); protected: CDNWorldUserState(); public: #else public: CDNWorldUserState(); ~CDNWorldUserState(); #endif // #if defined( PRE_WORLDUSERSTATE_OPTIMIZE ) virtual bool AddUserState(const WCHAR * pName, INT64 biCharacterDBID, int nLocation, int nCummunity, int nChannelID, int nMapIdx); virtual bool DelUserState(const WCHAR * pName, INT64 biCharacterDBID); //WCHAR Ver virtual bool UpdateUserState(const WCHAR * pName, INT64 biCharacterDBID, int nLocation = -1, int nCummunity = -1, int nChannelID = -1, int nMapIdx = -1); virtual bool GetUserState(const WCHAR * pName, INT64 biCharacterDBID, sWorldUserState *pWorldUserState); virtual bool GetUserState( INT64 biCharacterDBID, sWorldUserState *pWorldUserState ); virtual bool GetUserState( INT64 biCharacterDBID, TCommunityLocation& Location ); virtual int GetUserLocation(const WCHAR * pName, INT64 biCharacterDBID); virtual int GetUserCummunityState(const WCHAR * pName, INT64 biCharacterDBID); #if defined( PRE_WORLDUSERSTATE_OPTIMIZE ) virtual void SnapShotUserState(){} #endif // #if defined( PRE_WORLDUSERSTATE_OPTIMIZE ) protected: #if defined( PRE_WORLDUSERSTATE_OPTIMIZE ) typedef std::map TCharNameUserState; typedef std::map TCharDBIDUserState; #else typedef std::map TCharNameUserState; typedef std::map TCharDBIDUserState; #endif // #if defined( PRE_WORLDUSERSTATE_OPTIMIZE ) TCharNameUserState m_WorldUserStateList; TCharDBIDUserState m_WorldUserStateListByCharDBID; #if defined( PRE_WORLDUSERSTATE_OPTIMIZE ) TCharNameUserState* m_pGetOnlyCharNameUserState; TCharDBIDUserState* m_pGetOnlyCharDBIDUserState; #else CSyncLock m_Sync; #endif // #if defined( PRE_WORLDUSERSTATE_OPTIMIZE ) }; extern CDNWorldUserState * g_pWorldUserState;