#pragma once #include "cocos2d.h" #include "PlatformHeader.h" #include "SocketMission.h" #include "CallMission.h" ////////////////////////////////////////////////////////////////////////// class IUserInGameServerSink { public: virtual ~IUserInGameServerSink(){} virtual void onUserInGameServerID(CMD_GP_InGameSeverID* pNetInfo){} virtual void onUserGetOnLine(CMD_GP_InGameSeverID* pNetInfo){} virtual void onUserInUnion(CMD_GP_InUnion* pNetInfo){} virtual void onUnionAndGameInfo(tagUnionAndGameList *pUnionAndGameList){} virtual void onUnionRoomInfo(tagRoomItemList *pRoomItemList){} virtual void onAutoRoomInfo(tagAutoRoomItemList *pRoomItemList){} }; ////////////////////////////////////////////////////////////////////////// class UserInGameServer : public CSocketMission { public: UserInGameServer(); //析构函数 virtual ~UserInGameServer(); // 设置回调接口 void setMissionSink(IUserInGameServerSink* pSink); public: virtual void onEventTCPSocketLink(); virtual void onEventTCPSocketShut(); virtual void onEventTCPSocketError(int errorCode); virtual bool onEventTCPSocketRead(int main, int sub, void* data, int dataSize); //网络事件 public: void PerformInGameServerID(int iUserID); void CB_InGameServerID(int iUserID); void Net_InGameServerID(void* data, int dataSize); void GetServerOnLine(); void CB_GetServerOnLine(); bool onSocketKindOnline(void* data, int size); bool onSocketServerOnline(void* data, int size); void PerformInUnion(int dwUnionCode); void CB_InUnion(int dwUnionCode); void Net_InUnion(void* data, int dataSize); void PerformGetUnionList(int iUserID); void CB_GetUnionList(int iUserID); bool Net_UnionList(void* data, int dataSize); void PerformGetUnionRoomList(int iUserID); void CB_GetUnionRoomList(int iUserID); void PerformGetUnionRoomList(CMD_GR_GetUnionRoomInfo* pkSendNet); void CB_GetUnionRoomList(CMD_GR_GetUnionRoomInfo* pkSendNet); bool Net_UnionRoomList(void* data, int dataSize); void PerformGetAutoRoomList(int iUserID); void CB_GetAutoRoomList(int iUserID); bool Net_AutoRoomList(void* data, int dataSize); private: // 回调 IUserInGameServerSink* m_pInGameServerInfoSink; // 任务类型 uint16 mMissionType; int mMissionParameter; CMD_GR_GetUnionRoomInfo m_GetUnionRoomInfo; };