Files
wnmj/Servers/服务器组件/比赛服务/MatchServiceManager.h
2026-02-13 14:34:15 +08:00

88 lines
2.3 KiB
C++

#ifndef GAME_MATCH_SERVICE_MANAGER_HEAD_FILE
#define GAME_MATCH_SERVICE_MANAGER_HEAD_FILE
#pragma once
#include "Stdafx.h"
#include "MatchServiceHead.h"
//////////////////////////////////////////////////////////////////////////
//比赛服务管理类
class MATCH_SERVICE_CLASS CMatchServiceManager : public IMatchServiceManager
{
//状态变量
protected:
bool m_bIsService; //服务标识
//接口变量
protected:
IGameMatchItem * m_pIGameMatchItem; //比赛子项
//服务接口
protected:
IMainServiceFrame * m_pIGameServiceFrame; //功能接口
//函数定义
public:
//构造函数
CMatchServiceManager(void);
//析构函数
virtual ~CMatchServiceManager(void);
//基础接口
public:
//释放对象
virtual VOID Release() { delete this; }
//接口查询
virtual VOID * QueryInterface(const IID & Guid, DWORD dwQueryVer);
//控制接口
public:
//停止服务
virtual bool StopService();
//启动服务
virtual bool StartService();
//管理接口
public:
//创建比赛
virtual bool CreateGameMatch(BYTE cbMatchType);
//绑定桌子
virtual bool BindTableFrame(ITableFrame * pTableFrame,WORD wTableID);
//初始化接口
virtual bool InitMatchInterface(tagMatchManagerParameter & MatchManagerParameter);
//系统事件
public:
//时间事件
virtual bool OnEventTimer(DWORD dwTimerID, WPARAM dwBindParameter);
//数据库事件
virtual bool OnEventDataBase(WORD wRequestID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize);
//网络事件
public:
//比赛事件
virtual bool OnEventSocketMatch(WORD wSubCmdID, VOID * pData, WORD wDataSize, IServerUserItem * pIServerUserItem, DWORD dwSocketID);
//用户事件
public:
//用户登录
virtual bool OnEventUserLogon(IServerUserItem * pIServerUserItem);
//用户登出
virtual bool OnEventUserLogout(IServerUserItem * pIServerUserItem);
//进入比赛
virtual bool OnEventEnterMatch(DWORD dwSocketID,VOID* pData,DWORD dwUserIP, bool bIsMobile);
//用户参赛
virtual bool OnEventUserJoinMatch(IServerUserItem * pIServerUserItem, BYTE cbReason,DWORD dwSocketID);
//用户退赛
virtual bool OnEventUserQuitMatch(IServerUserItem * pIServerUserItem, BYTE cbReason,WORD *pBestRank=NULL, DWORD dwContextID=INVALID_WORD);
//接口信息
public:
//用户接口
virtual IUnknownEx * GetServerUserItemSink();
};
//////////////////////////////////////////////////////////////////////////
#endif