#ifndef _DISPATCH_H_ #define _DISPATCH_H_ #include #include #include struct PktBase; namespace PktAdminMgr { struct PktGetAdminStoreItemAck; }; class CClientDispatch : public CClientMultiThreadDispatch { public: CClientDispatch() { } virtual CClientDispatch* Clone() { return new CClientDispatch; } virtual void Destroy() { delete this; } virtual void Disconnected() { } private: virtual bool DispatchPacket(PktBase* lpPktBase); // Packet Process bool PktResultAck (PktBase* lpPktBase); bool PktAdminListAck (PktBase* lpPktBase); bool PktLoginInfoAck (PktBase* lpPktBase); bool PktDelAdminAck (PktBase* lpPktBase); bool PktUpdateLevelAck (PktBase* lpPktBase); bool PktUpdateIPAck (PktBase* lpPktBase); bool PktLogListAck (PktBase* lpPktBase); bool PktDetailLogAck (PktBase* lpPktBase); bool PktGetExitLogAck (PktBase* lpPktBase); bool PktBeforeAfterAck (PktBase* lpPktBase); bool PktSearchResultAck (PktBase* lpPktBase); bool PktAgentServerIndexAck (PktBase* lpPktBase); // ÇöÀç ¿¬°áµÇ ÀÖ´Â ¼­¹ö±º Á¤º¸ bool PktSearchAck (PktBase* lpPktBase); // °Ë»öâ¿¡¼­ °Ë»öÇÑ Á¤º¸ bool PktGetCharacterAck (PktBase* lpPktBase); // °Ë»öÇÑ Ä³¸¯ÅÍ¿¡ ´ëÇÑ Á¤º¸ bool PktCloseCharacterAck (PktBase* lpPktBase); // ij¸¯ÅÍ µ¶Á¡ ¸ðµå°¡ ¿ÏÀüÈ÷ ÇØÁ¦µÇ¾úÀ» ¶§ bool PktCreateItemAck (PktBase* lpPktBase); // ¾ÆÀÌÅÛ ¸¸µé±â ¼º°ø bool PktUpdateItemAck (PktBase* lpPktBase); // ¾ÆÀÌÅÛ ¾÷µ¥ÀÌÆ® ¼º°ø bool PktRemoveItemAck (PktBase* lpPktBase); // ¾ÆÀÌÅÛ Áö¿ì±â ¼º°ø bool PktSyncDeposit (PktBase* lpPktBase); // µðºñÀÇ Ã¢°í Á¤º¸°¡ ¾Æ´Ñ ÇöÀç ¿î¿µ¼­¹ö¿¡¼­ ¿­·Á Àִ â°í Á¤º¸¸¦ °¡Á®¿Â´Ù bool PktItemResetAck (PktBase* lpPktBase); // ¾ÆÀÌÅÛ ¸®¼Â °á°ú bool PktInvenGold (PktBase* lpPktBase); bool PktSkillEditAck (PktBase* lpPktBase); // ½ºÅ³ Á¤º¸ º¯°æ bool PktSearchBlockAck (PktBase* lpPktBase); // ºí·°¸®½ºÆ® °Ë»ö bool PktSetZoneList (PktBase* lpPktBase); // °ü¸®ÀÚ Á¸¸®½ºÆ® Á¤º¸ ¼Â bool PktChangeNameAck (PktBase* lpPktBase); // ij¸¯¸í º¯°æ bool PktDelCharListAck (PktBase* lpPktBase); // »èÁ¦µÈ ij¸¯ÅÍ ¸ñ·Ï º¸±â bool PktCharRestoreAck (PktBase* lpPktBase); // ij¸¯ÅÍ º¹±¸ ¼º°ø bool PktAdminStoreInsertAck (PktBase* lpPktBase); // ¿î¿µÃ¢°í ¾ÆÀÌÅÛ Ãß°¡ ¼º°ø bool PktAdminStoreDeleteAck (PktBase* lpPktBase); // ¿î¿µÃ¢°í ¾ÆÀÌÅÛ »èÁ¦ ¼º°ø bool PktGetAdminStoreItemAck (PktBase* lpPktBase); // ¿î¿µÃ¢°í ¾ÆÀÌÅÛ Á¤º¸ ¾ò±â ¼º°ø bool PktCancelExecuteQuest (PktBase* lpPktBase); // ¼öÇàÁßÀÎ Äù½ºÆ® Ãë¼Ò bool PktDeleteHistoryQuest (PktBase* lpPktBase); // ¿Ï·áÇÑ Äù½ºÆ® Ãë¼Ò bool PktUserNation (PktBase* lpPktBase); // °èÁ¤ ±¹Àû ¾ò±â bool PktStoreTabEdit (PktBase* lpPktBase); // â°í ÅÇ ¼ö ¼öÁ¤ bool PktGuildSearchAck (PktBase* lpPktBase); // ±æµå °Ë»ö bool PktRequestGuildMemberListAck (PktBase* lpPktBase); // ±æµå ¸â¹ö ¸®½ºÆ® bool PktGuildRestoreDataListAck (PktBase* lpPktBase); // ÇØÃ¼µÈ ±æµå µ¥ÀÌÅÍ ¸®½ºÆ® bool PktGuildRight (PktBase* lpPktBase); // ±æµå³» ±ÇÇÑ ¼³Á¤ Á¤º¸ bool PktGuildMemberEdit (PktBase* lpPktBase); // ±æµå ¸â¹ö ±ÇÇÑ ¼öÁ¤, ÃàÃâ bool PktFortSearchAck (PktBase* lpPktBase); // ¿ä»õ °Ë»ö bool PktMiningCampAck (PktBase* lpPktBase); // ä±¼¿ä»õ Á¤º¸ ¾ò±â bool PktShopCampAck (PktBase* lpPktBase); // »óÁ¡¿ä»õ Á¤º¸ ¾ò±â bool PktCastleSearchAck (PktBase* lpPktBase); // ¼º °Ë»ö bool PktCastleCreatureAck (PktBase* lpPktBase); // ¼º°ü·Ã °³Ã¼ Á¤º¸ ¾ò±â bool PktItemQtyControlAck (PktBase* lpPktBase); // ¾ÆÀÌÅÛ ¼ö·® Á¦¾î »óÅ bool PktUserBillingLogAck (PktBase* lpPktBase); // »ç¿ëÀÚ °ú±Ý ³»¿ª bool PktGameAdminAck (PktBase* lpPktBase); // °ÔÀÓ ¿î¿µÀÚ °ü¸® Ack bool PktConnectAllServerzAck (PktBase* lpPktBase); // ÇöÀç ¿¬°áµÇ¾î ÀÖ´Â Áß°è¼­¹ö À妽º Ack bool PktInterestedUserList (PktBase* lpPktBase); // °ü½É À¯Àú ¸®½ºÆ® bool PktConnectionChk (PktBase* lpPktBase); // Á¢¼Ó üũ bool PktConnectedUserList (PktBase* lpPktBase); // Á¢¼ÓÁßÀÎ °ü½ÉÀ¯Àú °èÁ¤¸í bool PktDuplicatedItem (PktBase* lpPktBase); // Áߺ¹ ¾ÆÀÌÅÛ °ü·Ã bool PktItemDistributeAck (PktBase* lpPktBase); // ¾ÆÀÌÅÛ Àϰý Áö±Þ Ack bool PktUnifiedCharInfo (PktBase* lpPktBase); // ÅëÇÕ Ä³¸¯ÅÍ Á¤º¸ bool PktUnifiedGuildInfo (PktBase* lpPktBase); // ÅëÇÕ ±æµå Á¤º¸ bool PktDetailCharInfo (PktBase* lpPktBase); // ÅëÇÕ Ä³¸¯ÅÍ »ó¼¼ Á¤º¸ bool PktShiftToUID (PktBase* lpPktBase); // °èÁ¤, UID°£ º¯È¯ (Çѱ¹¸¸ »ç¿ë°¡´ÉÇÑ ±â´É) bool PktAmountOfGold (PktBase* lpPktBase); // ¼­¹ö±ºº° °ñµå·® È®ÀÎ bool PktGMLogMsg (PktBase* lpPktBase); // GM ·Î±× ¸Þ¼¼Áö bool CharInfoParseFinish (CCharacterDoc::CharDocInfo* lpCharDocInfo); void ResultErrModifyCharacter (PktBase* lpPktBase); void ResultErrStateSave (PktBase* lpPktBase); void AdminStoreItemModify (PktAdminMgr::PktGetAdminStoreItemAck* lpPktAck); void AdminStoreGrabMode (PktAdminMgr::PktGetAdminStoreItemAck* lpPktAck); bool PktResultCharInfoTime (PktBase* lpPktAck); // ij¸¯ÅÍ »ý¼º/¼öÁ¤ Á¤º¸ È®ÀÎ // ij¸¯ÅÍ Á¤º¸ ¼ÂÆÃ CAgentServerParseData Parser; // ij¸¯ÅÍ Á¤º¸ ºÐ¼® Ŭ·¡½º // ETC CString GetBlockString(unsigned int nIndex); CString GetGuildTitleString(unsigned int nIndex); CString GetGuildRightString(unsigned int nIndex); bool SucessLogin(); }; #endif