82 lines
2.4 KiB
C++
82 lines
2.4 KiB
C++
#ifndef GAME_MATCH_SINK_HEAD_FILE
|
|
#define GAME_MATCH_SINK_HEAD_FILE
|
|
|
|
#pragma once
|
|
|
|
//引入文件
|
|
#include "MatchServiceHead.h"
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
//桌子钩子类
|
|
class CTableFrameHook : public ITableFrameHook,public ITableUserAction
|
|
{
|
|
//友元定义
|
|
friend class CGameServiceManager;
|
|
|
|
//接口变量
|
|
public:
|
|
ITableFrame * m_pITableFrame; //框架接口
|
|
|
|
//事件接口
|
|
protected:
|
|
IMatchEventSink * m_pMatchEventSink; //比赛事件
|
|
|
|
//配置变量
|
|
protected:
|
|
const tagGameServiceOption * m_pGameServiceOption; //配置参数
|
|
|
|
//属性变量
|
|
protected:
|
|
static const WORD m_wPlayerCount; //游戏人数
|
|
|
|
//函数定义
|
|
public:
|
|
//构造函数
|
|
CTableFrameHook();
|
|
//析构函数
|
|
virtual ~CTableFrameHook();
|
|
|
|
//基础接口
|
|
public:
|
|
//释放对象
|
|
virtual VOID Release() { delete this; }
|
|
//接口查询
|
|
virtual void * QueryInterface(const IID & Guid, DWORD dwQueryVer);
|
|
|
|
//管理接口
|
|
public:
|
|
//设置桌子事件接口
|
|
virtual bool SetMatchEventSink(IUnknownEx * pIUnknownEx);
|
|
//初始化
|
|
virtual bool InitTableFrameHook(IUnknownEx * pIUnknownEx);
|
|
|
|
//游戏事件
|
|
public:
|
|
//游戏开始
|
|
virtual bool OnEventGameStart(ITableFrame *pITableFrame, WORD wChairCount);
|
|
//游戏结束
|
|
virtual bool OnEventGameEnd(ITableFrame *pITableFrame,WORD wChairID, IServerUserItem * pIServerUserItem, BYTE cbReason);
|
|
|
|
//用户动作
|
|
public:
|
|
//用户断线
|
|
virtual bool OnActionUserOffLine(WORD wChairID, IServerUserItem * pIServerUserItem) { return true; }
|
|
//用户重入
|
|
virtual bool OnActionUserConnect(WORD wChairID, IServerUserItem * pIServerUserItem) { return true; }
|
|
//用户坐下
|
|
virtual bool OnActionUserSitDown(WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser);
|
|
//用户起来
|
|
virtual bool OnActionUserStandUp(WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser);
|
|
//用户同意
|
|
virtual bool OnActionUserOnReady(WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize);
|
|
//房卡数量判断
|
|
virtual bool OnActionUserFangKaCheck(WORD wChairID, IServerUserItem * pIServerUserItem, SCORE lUserInsure);
|
|
//用户开始游戏OnActionUserStartGame
|
|
virtual bool OnActionUserOnStart(WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize){ return true; }
|
|
virtual bool OnActionUserStartGame(WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize){ return true; }
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
#endif |