#include "GameRecord.h" GameRecordMission::GameRecordMission(const char* url, int port) : CCallMission("GameRecordMission",url, port) { mIGPGameRecordSink = 0; addNetCall(CC_CALLBACK_2(GameRecordMission::Net_GetGameRecordList,this),SUB_GP_GAME_RECORD_LIST); addNetCall(CC_CALLBACK_2(GameRecordMission::Net_PrivateRandTotalRecord,this),SUB_GP_GAME_RECORD_TOTAL); addNetCall(CC_CALLBACK_2(GameRecordMission::Net_PrivateRandRecordChild, this), SUB_GP_GAME_RECORD_CHILD); } // 设置回调接口 void GameRecordMission::setMissionSink(IGameRecordSink* pIGPKefuMissionSink) { mIGPGameRecordSink = pIGPKefuMissionSink; } void GameRecordMission::GetGameRecordList(int iUserID, WORD wKindID) { cocos2d::log("GameRecordMission::GetGameRecordList\n"); addLinkCallFun(CC_CALLBACK_0(GameRecordMission::CB_GetGameRecordList, this, iUserID, wKindID)); start(); } void GameRecordMission::CB_GetGameRecordList(int iUserID, WORD wKindID) { cocos2d::log("GameRecordMission::CB_GetGameRecordList\n"); CMD_GP_GetGameRecordList kNetInfo; kNetInfo.dwUserID = iUserID; kNetInfo.wKindID = wKindID; send(MDM_GP_USER_SERVICE, SUB_GP_GAME_RECORD_LIST, &kNetInfo, sizeof(kNetInfo)); } void GameRecordMission::Net_GetGameRecordList(void* data, int dataSize) { cocos2d::log("GameRecordMission::Net_GetGameRecordList\n"); DataStream kDataStream(data,dataSize); tagPrivateRandTotalRecordList kNetInfo; kNetInfo.StreamValue(kDataStream,false); stop(); if (mIGPGameRecordSink) { mIGPGameRecordSink->onGPBackGameRecordList(&kNetInfo); } } void GameRecordMission::GetPrivateRandTotalRecord(int iRecordID) { cocos2d::log("GameRecordMission::GetPrivateRandTotalRecord\n"); addLinkCallFun(CC_CALLBACK_0(GameRecordMission::CB_PrivateRandTotalRecord,this,iRecordID)); start(); } void GameRecordMission::CB_PrivateRandTotalRecord(int iRecordID) { CMD_GP_GetGameTotalRecord kNetInfo; kNetInfo.dwUserID = 0; kNetInfo.dwRecordID = iRecordID; send(MDM_GP_USER_SERVICE, SUB_GP_GAME_RECORD_TOTAL,&kNetInfo,sizeof(CMD_GP_GetGameTotalRecord)); } void GameRecordMission::Net_PrivateRandTotalRecord(void* data, int dataSize) { cocos2d::log("GameRecordMission::Net_PrivateRandTotalRecord\n"); DataStream kStream(data,dataSize); tagPrivateRandTotalRecord kNetInfo; kNetInfo.StreamValue(kStream,false); stop(); if (mIGPGameRecordSink) { mIGPGameRecordSink->onGPBackGameTotalRecord(&kNetInfo); } } void GameRecordMission::GetPrivateRandRecordChild(int iRecordChildID) { cocos2d::log("GameRecordMission::GetPrivateRandRecordChild\n"); addLinkCallFun(CC_CALLBACK_0(GameRecordMission::CB_PrivateRandRecordChild, this, iRecordChildID)); start(); } void GameRecordMission::CB_PrivateRandRecordChild(int iRecordChildID) { CMD_GP_GetGameTotalRecord kNetInfo; kNetInfo.dwUserID = 0; kNetInfo.dwRecordID = iRecordChildID; send(MDM_GP_USER_SERVICE, SUB_GP_GAME_RECORD_CHILD, &kNetInfo, sizeof(CMD_GP_GetGameTotalRecord)); } void GameRecordMission::Net_PrivateRandRecordChild(void* data, int dataSize) { cocos2d::log("GameRecordMission::Net_PrivateRandRecordChild\n"); DataStream kStream(data, dataSize); tagPrivateRandRecordChild kNetInfo; kNetInfo.StreamValue(kStream, false); stop(); if (mIGPGameRecordSink) { mIGPGameRecordSink->onGPBackGameRecordChild(&kNetInfo); } }