#ifndef _PARTY_H #define _PARTY_H //------------------------------------------------------------------------------ /** @class Party ÆÄƼ Ŭ·¡½º ÆÄƼ ÃÊ´ë, Å»Åð, °­Á¦ Å»Åð µîÀ» ó¸®Çϴ Ŭ·¡½º (C) 2005 ckbang */ #include "PacketStruct_CG.h" #include "ResultCode.h" #include "InterfaceManager.h" using namespace RC; class Party { public: Party(); ~Party(); void Init (); /// ÆÄƼ ÃʱâÈ­ void ShowPartyInfoDlgs (BOOL bFlag); /// ÆÄƼ Á¤º¸ ´ÙÀ̾ó·Î±×µé ¶ç¿ì±â void SetInfos (MSG_CG_PARTY_MEMBER_INFO_CMD *pAck); /// ÆÄƼ Á¤º¸µé ä¿ì±â void AddInfo (MSG_CG_PARTY_MEMBER_JOIN_BRD *pAck); /// Ãß°¡ Á¤º¸ ä¿ì±â void DelInfo (DWORD objKey); void ClearInfos (); /// ÆÄƼ ±¸¼º ÃʱâÈ­ void SetMaster (DWORD objKey); /// ÆÄƼÀå »õ·Î ¼³Á¤ void LeaveParty (); /// ÆÄƼ ¶°³ª±â PARTY_MEMBER_INFO* GetInfo (DWORD objKey); /// ÆÄƼ¿ø Á¤º¸ ¾ò±â DWORD GetPartyMasterObjKey (); /// ÆÄƼÀå ۰ª ¾ò±â BYTE GetDistributionType (); /// ÆÄƼ ºÐ¹è¹æ½Ä ¾ò±â BYTE GetPartyNum (); /// ÆÄƼ ±¸¼º¿ø ¼ö ¾ò±â InterfaceManager::eDIALOG_ID GetStartPartyDialog (); /// ÆÄƼâ ù¹øÂ° °ª ¾ò±â const char * GetInviterName (); /// ÃÊ´ëÇÑ »ç¶÷ÀÇ À̸§ DWORD GetInviterKey (); /// ÃÊ´ëÇÑ »ç¶÷ÀÇ Å°°ª BOOL IsMaster (); /// ÆÄƼÀåÀΰ¡ BOOL IsVisable (); /// ÆÄƼ ÀÎÅÍÆäÀ̽º°¡ Ȱ¼ºÈ­ µÇ¾ú´Â°¡ BOOL VisableSwap (); /// ÆÄƼ ÀÎÅÍÆäÀ̽ºÀÇ È°¼ºÈ­ »óÅ ÀÚµ¿º¯È¯ DWORD name2key (char *pname); /// ÆÄƼ¿øÀÇ À̸§À» ۰ªÀ¸·Î ÄÁ¹öÆÃ char * key2name (DWORD key); /// ÆÄƼ¿øÀÇ Å°°ªÀ» À̸§À¸·Î ÄÁ¹öÆÃ /// ¾Ë¸² void Notice (TCHAR *pnotice, WzColor Color=WzColor_RGBA( 255, 255, 0, 255 )); /// ÀÌÀ¯ void Reason (ePARTY_RESULT eReason, WzColor Color=WzColor_RGBA( 0, 0, 255, 255 )); // // PARTY ACTION // bool actForcedExplusion (DWORD objKey); /// °­Á¦ Å»Åð bool actLeave (); /// Å»Åð void actInvite (char *pname); /// ÃÊ´ë void actAskInviting(char *strInviterName, DWORD dwInviterKey); /// ÃÊ´ë ¼ö¶ô¿©ºÎ void actInvitedYes (); /// ÃÊ´ë¿¡ ÀÀÇÔ void actInvitedNo (); /// ÃÊ´ë¿¡ ºÒÀÀ bool actMigration (DWORD objKey); /// ¹æÀå À§ÀÓ bool actToggleShowBuffInfo (); /// ¹öÇÁ Á¤º¸ º¸À̱â/¼û±â±â bool actDestroyParty (); /// ÆÄƼ ÇØÃ¼ // // PARTY PARSE PACKET // void Parse (MSG_BASE * pMsg); protected: BOOL m_bVisable; /// ÆÄƼ ÀÎÅÍÆäÀ̽º Ȱ¼ºÈ­ Ç÷º DWORD m_dwMasterObjKey; /// ÆÄƼÀå ¿ÀºêÁ§Æ® Ű BYTE m_byDistributionType; /// ¾ÆÀÌÅÛ ºÐ¹è¹æ½Ä BYTE m_byMemberNum; /// ÆÄƼ¿ø ¼ö(ÆÄƼÀå Æ÷ÇÔ) vector m_MemberInfo; /// ÆÄƼ ±¸¼º¿øµéÀÇ ¸ñ·Ï BOOL m_bShowBuffInfo; /// ÆÄƼ ¹öÇÁâ º¸À̱â std::string m_strInviterName; /// ÃÊ´ëÇÑ »ç¶÷ À̸§ DWORD m_dwInviterKey; /// ÃÊ´ëÇÑ »ç¶÷ Ű }; //------------------------------------------------------------------------------ /** */ inline BOOL Party::VisableSwap() { if (m_bVisable) m_bVisable = FALSE; else m_bVisable = TRUE; return m_bVisable; } //------------------------------------------------------------------------------ /** */ inline BOOL Party::IsVisable() { return m_bVisable; } //------------------------------------------------------------------------------ /** */ inline DWORD Party::GetPartyMasterObjKey() { return m_dwMasterObjKey; } //------------------------------------------------------------------------------ /** */ inline const char * Party::GetInviterName() { return m_strInviterName.c_str(); } //------------------------------------------------------------------------------ /** */ inline DWORD Party::GetInviterKey() { return m_dwInviterKey; } //------------------------------------------------------------------------------ /** */ inline BYTE Party::GetDistributionType() { return m_byDistributionType; } //------------------------------------------------------------------------------ /** */ inline BYTE Party::GetPartyNum() { return m_MemberInfo.size(); } //------------------------------------------------------------------------------ #endif // _PARTY_H