#pragma once /************************************************************************************************** ÀÛ¼ºÀÏ: 2008-07-08 ÀÛ¼ºÀÚ: ¹®»óÇö (youngmoon@webzen.co.kr) ¼³¸í: ¼¥ ¼­¹ö¸¦ »ç¿ëÇϴ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¼ö½ÅµÈ ÆÐŶÀ» Àü´ÞÇØ ÁÖ±â À§ÇÑ À̺¥Æ® °´Ã¼ À̺¥Æ®¸¦ ¹Þ´ÂÂÊ(¼¥Å¬¶óÀ̾ðÆ®)¿¡¼­ »ó¼Ó¹Þ¾Æ »ç¿ëÇØ¾ß ÇÑ´Ù. **************************************************************************************************/ #include "ClientSession.h" //#include "protocol_shop.h" #define BATTERYGAME_CHANNEL_CODE 811 class CShopEventHandler : public CClientSession { public: CShopEventHandler(void); virtual ~CShopEventHandler(void); bool CreateSession(WBANetwork::LPFN_ErrorHandler errhandler = NULL); bool InquireSalesZoneScriptVersion(long GameCode); bool InquireCash(long GameCode, DWORD AccountSeq); bool BuyProduct(long GameCode, DWORD AccountSeq, long PackageProductSeq, long PriceSeq, WCHAR CharName[MAX_CHARACTERID_LENGTH] ); bool GiftProduct(long GameCode, DWORD SenderSeq, WCHAR SenderCharName[MAX_CHARACTERID_LENGTH], DWORD ReceiverSeq, WCHAR ReceiverCharName[MAX_CHARACTERID_LENGTH], WCHAR Message[MAX_MESSAGE_LENGTH], long PackageProductSeq, long PriceSeq); bool InquireStorageList(DWORD AccountSeq, long GameCode); bool UseStorage(DWORD AccountSeq, long GameCode, DWORD IPAddress, long StorageSeq, WCHAR CharName[MAX_CHARACTERID_LENGTH], bool bUseAll, POSTYPE EmptySlotNum ); bool UseStorageRollback(DWORD AccountSeq, long StorageSeq ); protected: void OnReceive(PBYTE buffer, int size); void OnConnect(bool success, DWORD error); void OnSend(int size); void OnClose(DWORD error); virtual void OnInquireSalesZoneScriptVersion(unsigned short SalesZone, unsigned short Year, unsigned short YearIdentity, long ResultCode) = 0; virtual void OnInquireCash(DWORD AccountSeq, double CashSum, double PointSum, double MileageSum, long ResultCode) = 0; virtual void OnBuyProduct(DWORD AccountSeq, long ResultCode) = 0; virtual void OnGiftProduct(DWORD SenderAccountSeq, DWORD ReceiverAccountSeq, long ResultCode) = 0; virtual void OnInquireStorageList(DWORD AccountID, long ListCount, long ResultCode, ShopProtocol::STStorage StorageList[]) = 0; virtual void OnUseStorage(DWORD AccountSeq, long ResultCode, long InGameProductID, long StorageSeq, ShopProtocol::STItemProperty PropertyList) = 0; virtual void OnNetConnect(bool success, DWORD error) = 0; virtual void OnNetSend( int size ) = 0; virtual void OnNetClose( DWORD error ) = 0; virtual void WriteLog(char* szMsg) = 0; private: void WriteLog(const char* szFormat, ...); };