#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