141 lines
4.8 KiB
C++
141 lines
4.8 KiB
C++
#include "stdafx.h"
|
|
|
|
#ifdef _NA_0_20110613_GAME_SHOP_RENEWAL
|
|
#include "GameShop.EventHandler.h"
|
|
#include "GameShop.System.h"
|
|
#include "GameShop.Event.h"
|
|
|
|
|
|
namespace GameShop
|
|
{
|
|
|
|
EventHandler::EventHandler()
|
|
: connect_(false)
|
|
, shop_system_(NULL)
|
|
{
|
|
}
|
|
|
|
EventHandler::~EventHandler()
|
|
{
|
|
}
|
|
|
|
void EventHandler::OnNetConnect(bool success, DWORD error)
|
|
{
|
|
connect_ = (error == 0) ? true : false;
|
|
ConnectEvent* new_event = new ConnectEvent;
|
|
new_event->property_.result_code_ = error;
|
|
new_event->property_.success_ = success;
|
|
shop_system_->get_event_queue().PushEvent(new_event);
|
|
}
|
|
|
|
void EventHandler::OnNetSend(int size)
|
|
{
|
|
}
|
|
|
|
void EventHandler::OnNetClose(DWORD error)
|
|
{
|
|
connect_ = false;
|
|
DisConnectEvent* new_event = new DisConnectEvent;
|
|
new_event->property_.result_code_ = error;
|
|
shop_system_->get_event_queue().PushEvent(new_event);
|
|
}
|
|
|
|
void EventHandler::OnInquireSalesZoneScriptVersion(unsigned short SalesZone,
|
|
unsigned short Year,
|
|
unsigned short YearIdentity,
|
|
long ResultCode)
|
|
{
|
|
SalesZoneScriptEvent* new_event = new SalesZoneScriptEvent;
|
|
new_event->property_.result_code_ = ResultCode;
|
|
new_event->property_.sales_zone_ = SalesZone;
|
|
new_event->property_.year_ = Year;
|
|
new_event->property_.year_identity_ = YearIdentity;
|
|
shop_system_->get_event_queue().PushEvent(new_event);
|
|
}
|
|
|
|
void EventHandler::OnInquireCash(DWORD AccountSeq,
|
|
double CashSum,
|
|
double PointSum,
|
|
double MileageSum,
|
|
long ResultCode)
|
|
{
|
|
CashInfoEvent* new_event = new CashInfoEvent;
|
|
new_event->property_.account_seq_ = AccountSeq;
|
|
new_event->property_.cash_sum_ = CashSum;
|
|
new_event->property_.ppcash_sum_ = 0;
|
|
new_event->property_.mileage_sum_ = MileageSum;
|
|
new_event->property_.result_code_ = ResultCode;
|
|
shop_system_->get_event_queue().PushEvent(new_event);
|
|
}
|
|
|
|
void EventHandler::OnBuyProduct(DWORD AccountSeq,
|
|
long ResultCode)
|
|
{
|
|
BuyProductEvent* new_event = new BuyProductEvent;
|
|
new_event->property_.account_seq_ = AccountSeq;
|
|
new_event->property_.result_code_ = ResultCode;
|
|
shop_system_->get_event_queue().PushEvent(new_event);
|
|
}
|
|
|
|
|
|
void EventHandler::OnGiftProduct(DWORD SenderSeq,
|
|
DWORD ReceiverSeq,
|
|
long ResultCode)
|
|
{
|
|
GiftProductEvent* new_event = new GiftProductEvent;
|
|
new_event->property_.sender_seq_ = SenderSeq;
|
|
new_event->property_.receiver_seq_ = ReceiverSeq;
|
|
new_event->property_.result_code_ = ResultCode;
|
|
shop_system_->get_event_queue().PushEvent(new_event);
|
|
}
|
|
|
|
|
|
void EventHandler::OnInquireStorageList(DWORD AccountID,
|
|
long ListCount,
|
|
long ResultCode,
|
|
ShopProtocol::STStorage StorageList[])
|
|
{
|
|
BuyStorageListEvent* new_event = new BuyStorageListEvent;
|
|
new_event->property_.account_seq_ = AccountID;
|
|
new_event->property_.result_code_ = ResultCode;
|
|
new_event->property_.storage_type_ = 'A';
|
|
new_event->property_.now_page_ = 1;
|
|
new_event->property_.total_page_ = 1;
|
|
new_event->property_.total_count_ = 400;
|
|
new_event->property_.list_count_ = ListCount;
|
|
memcpy(new_event->property_.storage_list_, StorageList,(sizeof(ShopProtocol::STStorage)*ListCount));
|
|
|
|
shop_system_->get_event_queue().PushEvent(new_event);
|
|
}
|
|
|
|
void EventHandler::OnUseStorage(DWORD AccountSeq,
|
|
long ResultCode,
|
|
long InGameProductID,
|
|
long StorageSeq,
|
|
ShopProtocol::STItemProperty PropertyList)
|
|
{
|
|
UseStorageItemEvent* new_event = new UseStorageItemEvent;
|
|
new_event->property_.account_seq_ = AccountSeq;
|
|
new_event->property_.result_code_ = ResultCode;
|
|
new_event->property_.game_item_code_ = InGameProductID;
|
|
new_event->property_.property_count_ = 1;
|
|
new_event->property_.storage_seq_ = StorageSeq;
|
|
new_event->property_.cash_type_ = 0;
|
|
memcpy(new_event->property_.property_list_, &PropertyList, sizeof(PropertyList) );
|
|
shop_system_->get_event_queue().PushEvent(new_event);
|
|
}
|
|
|
|
void EventHandler::WriteLog(char* szMsg)
|
|
{
|
|
LogEvent* new_event = new LogEvent;
|
|
|
|
uint str_len = _countof(new_event->property_.log_string_) - 1;
|
|
strncpy(new_event->property_.log_string_, szMsg, str_len);
|
|
new_event->property_.log_string_[str_len] = '\0';
|
|
|
|
shop_system_->get_event_queue().PushEvent(new_event);
|
|
}
|
|
|
|
}; //namaspace GameShop
|
|
|
|
#endif // _NA_0_20110613_GAME_SHOP_RENEWAL
|