#pragma once #ifndef GAMESERVER_INVITED_FRIEND_INFO_H #define GAMESERVER_INVITED_FRIEND_INFO_H /* ÀÛ¼ºÀÚ: ¹®»óÇö Á¦ÀÛÀÏ: 2009-11-05 °£´ÜÇѼ³¸í: Player ÀÇ Ãßõ Ä£±¸ ¸ñ·ÏÀ» °¡Áö°í Àִ´Ù. // NOTE: declared by _KR_0_20091021_FIRENDINVITATION_EXTEND */ #pragma once typedef STLX_MAP INVITATFRIEND_INFO_MAP; typedef INVITATFRIEND_INFO_MAP::iterator INVITATFRIEND_INFO_MAP_ITER; typedef std::pair< DWORD, DWORD64 > INVITATFRIEND_INFO_MAP_PAIR; #include "PacketStruct_DG.h" class InvitateFriendInfo { public: enum FRIEND_TYPE {FRIEND_INVIATEINPARTY = 0, FRIEND_NORMAL = 1, FRIEND_INVIATE = 5, FRIEND_BEINVIATED = 6}; public: InvitateFriendInfo(Player* player); ~InvitateFriendInfo(void); //¼Òȯ½Ã°£ Á¤º¸ ¾÷µ¥ÀÌÆ® VOID UpdateReCallTime(CHARGUID FriendGuid, DWORD64 Recalltime); //Ä£±¸ ¼Òȯ ½Ã°£ ¼³Á¤ VOID InitReCallTime(MSG_DG_EVENT_INVITATEFRIEND_RECALLSELECT_ACK* pRecvMsg); // (CHANGES) (f100515.2L) rule out the possibility of a stack overflow UINT GetFriendList(const FRIEND_TYPE type, DWORD OUT friend_guid_array[], int number_of_guid_array); //Ãßõ Ä£±¸ ¸ñ·Ï ÀúÀå VOID AddFriend(FRIEND_TYPE type, DWORD FriendGUID[], WORD FriendCount); VOID AddFriend(FRIEND_TYPE type, DWORD FriendGUID); //Ãßõ Ä£±¸ ¸ñ·Ï ÃʱâÈ­ VOID ClearFriendList(FRIEND_TYPE type); VOID ClearAllFriendList(); //Ä£±¸ ¸ñ·Ï¿¡¼­ Á¦°ÅÇÑ´Ù. VOID RemoveFriend(FRIEND_TYPE type, DWORD FriendGUID); //Ä£±¸ ¸ñ·Ï Ä«¿îÆ® int GetSize(FRIEND_TYPE type); //ÇØ´ç GUID °¡ Ãßõ Ä£±¸ ¸ñ·Ï¿¡ Àִ°¡ ? BOOL IsInvitateFriend(CHARGUID charguid); //ÇØ´ç GUID °¡ ÆÄƼ³» Ãßõ Ä£±¸ ¸ñ·Ï¿¡ Àִ°¡ ? BOOL IsInvitateFriendParty(); //Ãß°¡ °æÇèÄ¡ ºñÀ²À» ¹ÝȯȯÇÑ´Ù. float GetAddExpRate(const BYTE radius, const WzVector* const pwvNpcPos, const FLOAT fRadius_Q2); BYTE GetAddQuestExpRate(FIELDCODE field_code); WORD GetAddMissionExpRate(FIELDCODE field_code); //ÃÖ±Ù ¸®ÄÝ ½Ã°£À» ¹ÝȯÇÑ´Ù. DWORD64 GetRecallTime(CHARGUID CharGuid); private: //¼Òȯ½Ã°£ Á¤º¸ ¾÷µ¥ÀÌÆ® VOID UpdateReCallTime(FRIEND_TYPE type, CHARGUID FriendGuid, DWORD64 Recalltime); private: INVITATFRIEND_INFO_MAP* const GetFriendList(FRIEND_TYPE type); INVITATFRIEND_INFO_MAP m_vecInvitateFriend; //³»°¡ ÃßõÇÑ Ä³¸¯ÅÍ GUID INVITATFRIEND_INFO_MAP m_vecBeInvitatedFriend; //³ª¸¦ ÃßõÇÑ Ä³¸¯ÅÍ GUID INVITATFRIEND_INFO_MAP m_vecnvitateFriendInParty; //ÆÄƼ³»ÀÇ Ãßõ°ü°è ij¸¯ GUID Player* player_; }; #endif //GAMESERVER_INVITED_FRIEND_INFO_H