Files
wnmj/Servers/服务器组件/私人场服务/PrivateServiceManager.h
2026-02-13 14:34:15 +08:00

93 lines
2.4 KiB
C++

#ifndef GAME_PRIVATE_SERVICE_MANAGER_HEAD_FILE
#define GAME_PRIVATE_SERVICE_MANAGER_HEAD_FILE
#pragma once
#include "Stdafx.h"
#include "PrivateServiceHead.h"
//////////////////////////////////////////////////////////////////////////
//比赛服务管理类
class PRIVATE_SERVICE_CLASS CPrivateServiceManager : public IPrivateServiceManager
{
//状态变量
protected:
bool m_bIsService; //服务标识
//接口变量
protected:
IGamePrivateItem * m_pIGamePrivatetem; //比赛子项
//服务接口
protected:
IMainServiceFrame * m_pIGameServiceFrame; //功能接口
//函数定义
public:
//构造函数
CPrivateServiceManager(void);
//析构函数
virtual ~CPrivateServiceManager(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 CreatePrivateMatch();
//绑定桌子
virtual bool BindTableFrame(ITableFrame * pTableFrame,WORD wTableID);
//初始化接口
virtual bool InitPrivateInterface(tagPrivateManagerParameter & MatchManagerParameter);
//系统事件
public:
//时间事件
virtual bool OnEventTimer(DWORD dwTimerID, WPARAM dwBindParameter);
//数据库事件
virtual bool OnEventDataBase(WORD wRequestID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize);
//网络事件
public:
//私人房事件
virtual bool OnEventSocketPrivate(WORD wSubCmdID, VOID * pData, WORD wDataSize, IServerUserItem * pIServerUserItem, DWORD dwSocketID);
//用户事件
public:
//用户登录
virtual bool OnEventUserLogon(IServerUserItem * pIServerUserItem);
//用户登出
virtual bool OnEventUserLogout(IServerUserItem * pIServerUserItem);
//进入
virtual bool OnEventEnterPrivate(DWORD dwSocketID,VOID* pData,DWORD dwUserIP, bool bIsMobile);
//用户参加
virtual bool OnEventUserJoinPrivate(IServerUserItem * pIServerUserItem, BYTE cbReason,DWORD dwSocketID);
//用户退出
virtual bool OnEventUserQuitPrivate(IServerUserItem * pIServerUserItem, BYTE cbReason,WORD *pBestRank=NULL, DWORD dwContextID=INVALID_WORD);
//用户请求
public:
//用户离开
virtual bool OnEventReqStandUP(IServerUserItem * pIServerUserItem);
//接口信息
public:
//用户接口
virtual IUnknownEx * GetServerUserItemSink();
};
//////////////////////////////////////////////////////////////////////////
#endif