/* ========================================================================== * ÆÄ ÀÏ : Guild.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2008-10-31 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once const unsigned long GUILD_TTL_TICK = 1000 * 60 * 3; // Á¢¼ÓÀ¯Áö µ¿±âÈ­ ½Ã°£ /// ±æµå class cGuild { public: cGuild(); ~cGuild(); void Clear(); bool AddPlayer( cPlayer* player, char position, DWORD channelNum ); bool AddPlayer( long characterIdx, char level, long job, short mapnum, wchar_t* name, char position, DWORD channelNum ); bool DeletePlayer( unsigned long characterIdx ); /// ±æµå»ý¼º½Ã ±âº»Á¤º¸ ¼¼ÆÃ void SetInfo( long idx, long masterIdx, wchar_t* name, wchar_t* masterName, TIMESTAMP_STRUCT initTime ); /// ±æµåÀå ¼³Á¤ void SetMaster( unsigned long characterIdx, wchar_t* name ); /// °øÁö³»¿ë ¼³Á¤ void SetNotice( wchar_t* notice ); /// ¸¶Å© °»½Å void UpdateMark( TIMESTAMP_STRUCT markDate, BYTE* mark, int size ); // Á¤º¸ °»½Å void UpdateInfo( sGuildConnect* data, unsigned long tickCount ); // Á¢¼Ó À¯Áö Á¤º¸ °»½Å ¾ÈµÊ unsigned long GetLostPlayer( unsigned long tickCount ); /// ¼­¹ö½ÃÀÛ¿¡ ¼¼ÆÃµÇ´Â ³»¿ë void VerifySetInfo( TB_GUILD* info ); bool VerifyAddPlayer( TB_GUILD_USER* data ); TB_GUILD* GetGuildInfo() { return &mInfo; } unsigned long GetGuildIndex() { return mInfo.idx; } tPointerHashMap* GetGuildUser() { return &mGuildUserMap; } unsigned long GetGuildSize() { return mGuildUserMap.GetSize(); } wchar_t* GetGuildName(); unsigned long GetGuildMasterIndex() { return mInfo.masterIndex; } TIMESTAMP_STRUCT GetGuildMarkDate() { return mInfo.markDate; } void SetAccumTime( unsigned long time ) { mLastAccumTime = time; } unsigned long GetAccumTime() { return mLastAccumTime; } void SetDBAccumTime( unsigned long time ) { mDBLastAccumTime = time; } unsigned long GetDBAccumTime() { return mDBLastAccumTime; } private: /// ±æµå Á¤º¸ TB_GUILD mInfo; /// ±æµå À¯ÀúÁ¤º¸ (TB_GUILD_USER) typedef tPointerHashMap cGuildUserMap; cGuildUserMap mGuildUserMap; unsigned long mLastAccumTime; /// Ŭ¶óÀÌ¾ðÆ® ÃֽŠsend ½Ã°£ unsigned long mDBLastAccumTime; /// DB °»½Å ½Ã°£ }; /// ±æµå Á¤º¸ º¹»ç inline void cGuild::VerifySetInfo( TB_GUILD* info ) { mInfo = *info; } inline wchar_t* cGuild::GetGuildName() { return mInfo.name; }