273 lines
8.7 KiB
C
273 lines
8.7 KiB
C
|
|
#ifndef IMMEDIATE_GROUP_HEAD_FILE
|
|||
|
|
#define IMMEDIATE_GROUP_HEAD_FILE
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
|
#include "TableFrameHook.h"
|
|||
|
|
#include "MatchServiceHead.h"
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//ʱ<>Ӷ<EFBFBD><D3B6><EFBFBD>
|
|||
|
|
#define IDI_DELETE_OVER_MATCH (IDI_MATCH_MODULE_START+1) //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define IDI_CHECK_OVER_MATCH (IDI_MATCH_MODULE_START+2) //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define IDI_GROUP_TIMER_START (IDI_MATCH_MODULE_START+10) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵĶ<DAB5>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
//ʱ<>Ӷ<EFBFBD><D3B6><EFBFBD>
|
|||
|
|
#define IDI_CHECK_MATCH_GROUP (IDI_GROUP_TIMER_START+1) //<2F><>Ѳ<EFBFBD><D1B2><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define IDI_WAITTABLE_FIRST_ROUND (IDI_GROUP_TIMER_START+2) //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define IDI_WAITTABLE_RAND_TABLE (IDI_GROUP_TIMER_START+3) //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define IDI_SWITCH_WAIT_TIME (IDI_GROUP_TIMER_START+4) //<2F><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
#define IDI_ALL_DISMISS_GAME (IDI_GROUP_TIMER_START+5) //ȫ<><C8AB><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2>Ϸ
|
|||
|
|
#define IDI_LASTMATCHRESULT (IDI_GROUP_TIMER_START+6) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define IDI_ENTER_NEXT_ROUND (IDI_GROUP_TIMER_START+7) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ѭ<EFBFBD><D1AD>
|
|||
|
|
#define IDI_TABLE_REQUEST_USER (IDI_GROUP_TIMER_START+8) //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//ʱ<>Ӷ<EFBFBD><D3B6><EFBFBD>
|
|||
|
|
#define IDI_CONTINUE_GAME 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ
|
|||
|
|
#define IDI_LEAVE_TABLE 2 //<2F>뿪<EFBFBD><EBBFAA><EFBFBD><EFBFBD>
|
|||
|
|
#define IDI_CHECK_TABLE_START 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ(<28><><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>)
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
enum enMatchStatus
|
|||
|
|
{
|
|||
|
|
MatchStatus_Null=0, //<2F><>״̬
|
|||
|
|
MatchStatus_Signup, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
MatchStatus_Wait, //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
MatchStatus_FirstRound //<2F><><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
struct tagMatchTimer
|
|||
|
|
{
|
|||
|
|
DWORD dwTimerID; //<2F><>ʱ<EFBFBD><CAB1>ID
|
|||
|
|
int iElapse; //ִ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WPARAM wParam; //<2F><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>
|
|||
|
|
LPARAM lParam; //<2F><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagMatchRanking
|
|||
|
|
{
|
|||
|
|
DWORD dwUserID; //<2F>û<EFBFBD>I D
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG lExpand; //<2F><>չֵ
|
|||
|
|
IServerUserItem * pUserItem; //<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagTableFrameInfo
|
|||
|
|
{
|
|||
|
|
ITableFrame * pTableFrame; //<2F><><EFBFBD>ӽӿ<D3BD>
|
|||
|
|
WORD wTableID; //<2F><><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>
|
|||
|
|
DWORD dwBaseScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbPlayCount; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
bool bRoundTableFinish; //<2F><><EFBFBD>ɱ<EFBFBD>ʶ
|
|||
|
|
bool bSwtichTableFinish; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bWaitForNextInnings; //<2F>ȴ<EFBFBD><C8B4>¾<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>鶨<EFBFBD><E9B6A8>
|
|||
|
|
typedef CWHArray<tagMatchTimer *> CUserMatchTimerArray;
|
|||
|
|
typedef CWHArray<tagMatchScore *> CUserMatchScoreArray;
|
|||
|
|
typedef CWHArray<IServerUserItem *> CMatchUserItemArray;
|
|||
|
|
typedef CWHArray<tagTableFrameInfo *> CTableFrameMananerArray;
|
|||
|
|
|
|||
|
|
//<2F>ֵ䶨<D6B5><E4B6A8>
|
|||
|
|
typedef CMap<DWORD,DWORD,IServerUserItem *, IServerUserItem *> CUserItemMap;
|
|||
|
|
typedef CMap<IServerUserItem *, IServerUserItem *, DWORD, DWORD> CUserSeatMap;
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F>ӿڶ<D3BF><DAB6><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
class CImmediateGroup;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>
|
|||
|
|
interface IImmediateGroupSink
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnEventMatchStart(CImmediateGroup *pMatch)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnEventMatchOver(CImmediateGroup *pMatch)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
virtual bool KillGameTimer(DWORD dwTimerID,CImmediateGroup *pMatch)=NULL;
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
virtual bool SetGameTimer(DWORD dwTimerID, DWORD dwElapse, DWORD dwRepeat, WPARAM dwBindParameter,CImmediateGroup *pMatch)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendMatchInfo(IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendGroupUserMessage(LPCTSTR pStrMessage,CImmediateGroup *pMatch)=NULL;
|
|||
|
|
//<2F><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
|
|||
|
|
virtual bool SendGroupUserScore(IServerUserItem * pIServerUserItem,CImmediateGroup *pMatch)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual bool SendGroupUserStatus(IServerUserItem * pIServerUserItem,CImmediateGroup *pMatch)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendGameMessage(IServerUserItem * pIServerUserItem, LPCTSTR lpszMessage, WORD wMessageType)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendRoomMessage(IServerUserItem * pIServerUserItem, LPCTSTR lpszMessage, WORD wMessageType)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendGroupData(WORD wMainCmdID, WORD wSubCmdID, void * pData, WORD wDataSize,CImmediateGroup *pMatch)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendData(IServerUserItem * pIServerUserItem, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual void InsertNullTable()=NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual IAndroidUserItem * GetFreeAndroidUserItem()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>̭
|
|||
|
|
virtual bool OnUserOut(IServerUserItem *pUserItem,LPCTSTR szReason,WORD wLen,WORD wRank,CImmediateGroup *pMatch)=NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
class CImmediateGroup: public IMatchEventSink
|
|||
|
|
{
|
|||
|
|
friend class CImmediateMatch;
|
|||
|
|
|
|||
|
|
//״̬<D7B4><CCAC>Ϣ
|
|||
|
|
protected:
|
|||
|
|
DWORD m_dwCurBase; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
DWORD m_dwMatchNO; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
enMatchStatus m_enMatchStatus; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE m_LoopTimer; //ѭ<><D1AD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
WORD m_wAndroidUserCount; //<2F><><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD>
|
|||
|
|
SYSTEMTIME m_MatchStartTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ
|
|||
|
|
|
|||
|
|
//ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
tagGameMatchOption * m_pMatchOption; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IImmediateGroupSink * m_pMatchSink; //<2F><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
CUserItemMap m_OnMatchUserMap; //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
CMatchUserItemArray m_FreeUserArray; //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
CTableFrameMananerArray m_MatchTableArray; //Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CUserMatchTimerArray m_MatchTimerArray; //<2F><><EFBFBD><EFBFBD>ר<EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
//<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
static WORD m_wChairCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CImmediateGroup(DWORD dwMatchNO,tagGameMatchOption * pGameMatchOption,IImmediateGroupSink *pIImmediateGroupSink);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual ~CImmediateGroup();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>ͷŶ<CDB7><C5B6><EFBFBD>
|
|||
|
|
virtual VOID Release(){}
|
|||
|
|
//<2F>ӿڲ<D3BF>ѯ
|
|||
|
|
virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܺ<EFBFBD><DCBA><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>
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnActionUserSitDown(WORD wTableID, WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser);
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnActionUserStandUp(WORD wTableID, WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser);
|
|||
|
|
//<2F>û<EFBFBD>ͬ<EFBFBD><CDAC>
|
|||
|
|
virtual bool OnActionUserOnReady(WORD wTableID, WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnUserSignUpMatch(IServerUserItem *pUserItem);
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BOOL OnUserQuitMatch(IServerUserItem *pUserItem);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void MatchOver();
|
|||
|
|
//Ч<><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ
|
|||
|
|
void EfficacyStartMatch();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CheckMatchUser();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD SortMapUser(tagMatchScore score[]);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void RearrangeUserSeat(bool bDismissGame=true);
|
|||
|
|
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool OnTimeMessage(DWORD dwTimerID, WPARAM dwBindParameter);
|
|||
|
|
WORD GetUserRank(IServerUserItem *pUserItem, ITableFrame *pITableFrame=NULL);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
VOID SendWaitTip(ITableFrame *pTableFrame, WORD wChairID=INVALID_CHAIR);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void AddMatchTable(tagTableFrameInfo* pTableFrameInfo){m_MatchTableArray.Add(pTableFrameInfo);}
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ר<EFBFBD>ýӿ<C3BD>
|
|||
|
|
tagTableFrameInfo* GetTableInterface(ITableFrame* ITable);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
void TabelRequestUser(bool bPrecedeSit=true);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
void SendGroupBox(LPCTSTR pStrMessage);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>뿪
|
|||
|
|
void AllUserExitTable(ITableFrame *pITableFrame);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ
|
|||
|
|
void ContinueGame(ITableFrame *pITableFrame);
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
WORD GetPrecedeSitUser(DWORD dwCurTime);
|
|||
|
|
//ʵ<>ָú<D6B8><C3BA><EFBFBD><EFBFBD>ɱ<EFBFBD>֤Free<65><65>Ψһ
|
|||
|
|
void InsertFreeGroup(IServerUserItem *pUserItem);
|
|||
|
|
//<2F><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
void SendTableUserMatchInfo(ITableFrame *pITableFrame, WORD wChairID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
void FirstRoundRuleInningsGameEnd(ITableFrame *pITableFrame);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>Ǻ<EFBFBD><C7BA><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CheckRoundTableFinish();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CheckSwitchTableFinish();
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
void SetRoundTableFinish(ITableFrame *pITableFrame);
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
void SetSwitchTableFinish(ITableFrame *pITableFrame);
|
|||
|
|
|
|||
|
|
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
void CaptureMatchTimer();
|
|||
|
|
//ɱ<><C9B1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
void AllKillMatchTimer();
|
|||
|
|
//ɱ<><C9B1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
bool KillMatchTimer(INT_PTR dwIndexID);
|
|||
|
|
//ɱ<><C9B1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
bool KillMatchTimer(DWORD dwTimerID, WPARAM wParam);
|
|||
|
|
//Ͷ<>ݶ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
void PostMatchTimer(DWORD dwTimerID, int iElapse, WPARAM wParam=0, LPARAM lParam=0);
|
|||
|
|
//ɱ<><C9B1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
void KillMatchGameTimer(DWORD dwTimerID);
|
|||
|
|
//<2F>趨<EFBFBD><E8B6A8>ʱ<EFBFBD><CAB1>
|
|||
|
|
void SetMatchGameTimer(DWORD dwTimerID, DWORD dwElapse, DWORD dwRepeat, WPARAM dwBindParameter);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#endif
|