119 lines
2.9 KiB
C++
119 lines
2.9 KiB
C++
#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, ...);
|
|
};
|