Files
Sun1602/Server/GameServer/GameShop/GameShop.EventHandler.cpp
T
2022-10-26 12:25:11 +08:00

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