Files
wnmj/Servers/服务器组件/比赛服务/TableFrameHook.h

82 lines
2.4 KiB
C
Raw Normal View History

2026-02-13 14:34:15 +08:00
#ifndef GAME_MATCH_SINK_HEAD_FILE
#define GAME_MATCH_SINK_HEAD_FILE
#pragma once
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
#include "MatchServiceHead.h"
//////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
class CTableFrameHook : public ITableFrameHook,public ITableUserAction
{
//<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
friend class CGameServiceManager;
//<2F>ӿڱ<D3BF><DAB1><EFBFBD>
public:
ITableFrame * m_pITableFrame; //<2F><><EFBFBD>ܽӿ<DCBD>
//<2F>¼<EFBFBD><C2BC>ӿ<EFBFBD>
protected:
IMatchEventSink * m_pMatchEventSink; //<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
protected:
const tagGameServiceOption * m_pGameServiceOption; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
//<2F><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>
protected:
static const WORD m_wPlayerCount; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD><ECBAAF>
CTableFrameHook();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual ~CTableFrameHook();
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
public:
//<2F>ͷŶ<CDB7><C5B6><EFBFBD>
virtual VOID Release() { delete this; }
//<2F>ӿڲ<D3BF>ѯ
virtual void * QueryInterface(const IID & Guid, DWORD dwQueryVer);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ӿ<EFBFBD>
virtual bool SetMatchEventSink(IUnknownEx * pIUnknownEx);
//<2F><>ʼ<EFBFBD><CABC>
virtual bool InitTableFrameHook(IUnknownEx * pIUnknownEx);
//<2F><>Ϸ<EFBFBD>¼<EFBFBD>
public:
//<2F><>Ϸ<EFBFBD><CFB7>ʼ
virtual bool OnEventGameStart(ITableFrame *pITableFrame, WORD wChairCount);
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
virtual bool OnEventGameEnd(ITableFrame *pITableFrame,WORD wChairID, IServerUserItem * pIServerUserItem, BYTE cbReason);
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
public:
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual bool OnActionUserOffLine(WORD wChairID, IServerUserItem * pIServerUserItem) { return true; }
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual bool OnActionUserConnect(WORD wChairID, IServerUserItem * pIServerUserItem) { return true; }
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual bool OnActionUserSitDown(WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser);
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual bool OnActionUserStandUp(WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser);
//<2F>û<EFBFBD>ͬ<EFBFBD><CDAC>
virtual bool OnActionUserOnReady(WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
virtual bool OnActionUserFangKaCheck(WORD wChairID, IServerUserItem * pIServerUserItem, SCORE lUserInsure);
//<2F>û<EFBFBD><C3BB><EFBFBD>ʼ<EFBFBD><CABC>Ϸ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