446 lines
16 KiB
C
446 lines
16 KiB
C
|
|
#ifndef ATTEMPER_ENGINE_SINK_HEAD_FILE
|
|||
|
|
#define ATTEMPER_ENGINE_SINK_HEAD_FILE
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "Stdafx.h"
|
|||
|
|
#include "TableFrame.h"
|
|||
|
|
#include "InitParameter.h"
|
|||
|
|
#include "ServerListManager.h"
|
|||
|
|
#include "DataBasePacket.h"
|
|||
|
|
#include "SensitiveWordsFilter.h"
|
|||
|
|
#include "DistributeManager.h"
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CLIENT_KIND_FALSH 1 //<2F><>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD>
|
|||
|
|
#define CLIENT_KIND_MOBILE 2 //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CLIENT_KIND_COMPUTER 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><EFBFBD><F3B6A8B2><EFBFBD>
|
|||
|
|
struct tagBindParameter
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwSocketID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
DWORD dwClientAddr; //<2F><><EFBFBD>ӵ<EFBFBD>ַ
|
|||
|
|
DWORD dwActiveTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
//<2F>汾<EFBFBD><E6B1BE>Ϣ
|
|||
|
|
DWORD dwPlazaVersion; //<2F>㳡<EFBFBD>汾
|
|||
|
|
DWORD dwFrameVersion; //<2F><><EFBFBD>ܰ汾
|
|||
|
|
DWORD dwProcessVersion; //<2F><><EFBFBD>̰汾
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbClientKind; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IServerUserItem * pIServerUserItem; //<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//ϵͳ<CFB5><CDB3>Ϣ
|
|||
|
|
struct tagSystemMessage
|
|||
|
|
{
|
|||
|
|
DWORD dwLastTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
DBR_GR_SystemMessage SystemMessage; //ϵͳ<CFB5><CDB3>Ϣ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
|||
|
|
typedef CWHArray<CTableFrame *> CTableFrameArray; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef CMap<DWORD,DWORD,DWORD,DWORD &> CKickUserItemMap; //<2F><><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>
|
|||
|
|
typedef CList<tagSystemMessage *> CSystemMessageList; //ϵͳ<CFB5><CDB3>Ϣ
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>
|
|||
|
|
class CAttemperEngineSink : public IAttemperEngineSink, public IMainServiceFrame,
|
|||
|
|
public IServerUserItemSink
|
|||
|
|
{
|
|||
|
|
//<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
|
|||
|
|
friend class CServiceUnits;
|
|||
|
|
|
|||
|
|
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
bool m_bCollectUser; //<2F><><EFBFBD>ܱ<EFBFBD>־
|
|||
|
|
bool m_bNeekCorrespond; //Э<><D0AD><EFBFBD><EFBFBD>־
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
DWORD m_dwIntervalTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
DWORD m_dwLastDisposeTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
protected:
|
|||
|
|
tagBindParameter * m_pNormalParameter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
tagBindParameter * m_pAndroidParameter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
protected:
|
|||
|
|
CInitParameter * m_pInitParameter; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
tagGameParameter * m_pGameParameter; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
tagGameMatchOption * m_pGameMatchOption; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServiceAttrib * m_pGameServiceAttrib; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServiceOption * m_pGameServiceOption; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
CMD_GR_ConfigColumn m_DataConfigColumn; //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CMD_GR_ConfigProperty m_DataConfigProperty; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
CTableFrameArray m_TableFrameArray; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CServerListManager m_ServerListManager; //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CServerUserManager m_ServerUserManager; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CAndroidUserManager m_AndroidUserManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CGamePropertyManager m_GamePropertyManager; //<2F><><EFBFBD>߹<EFBFBD><DFB9><EFBFBD>
|
|||
|
|
CDistributeManager m_DistributeManage; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CKickUserItemMap m_KickUserItemMap; //<2F><><EFBFBD>˹<EFBFBD><CBB9><EFBFBD>
|
|||
|
|
CSystemMessageList m_SystemMessageList; //ϵͳ<CFB5><CDB3>Ϣ
|
|||
|
|
CSensitiveWordsFilter m_WordsFilter; //<2F><><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
ITimerEngine * m_pITimerEngine; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IAttemperEngine * m_pIAttemperEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ITCPSocketService * m_pITCPSocketService; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ITCPNetworkEngine * m_pITCPNetworkEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IGameServiceManager * m_pIGameServiceManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IGameServiceCustomTime * m_pIGameServiceSustomTime; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
IMatchServiceManager* m_pIMatchServiceManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
IPrivateServiceManager* m_pIPrivateServiceManager; //˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
IDataBaseEngine * m_pIRecordDataBaseEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IDataBaseEngine * m_pIKernelDataBaseEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IDBCorrespondManager * m_pIDBCorrespondManager; //<2F><><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CAttemperEngineSink();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual ~CAttemperEngineSink();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>ͷŶ<CDB7><C5B6><EFBFBD>
|
|||
|
|
virtual VOID Release() { return; }
|
|||
|
|
//<2F>ӿڲ<D3BF>ѯ
|
|||
|
|
virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer);
|
|||
|
|
|
|||
|
|
//<2F>첽<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnAttemperEngineStart(IUnknownEx * pIUnknownEx);
|
|||
|
|
//ֹͣ<CDA3>¼<EFBFBD>
|
|||
|
|
virtual bool OnAttemperEngineConclude(IUnknownEx * pIUnknownEx);
|
|||
|
|
|
|||
|
|
//<2F>¼<EFBFBD><C2BC>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventControl(WORD wIdentifier, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F>Զ<EFBFBD><D4B6>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventAttemperData(WORD wRequestID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F>ں<EFBFBD><DABA>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//ʱ<><CAB1><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTimer(DWORD dwTimerID, WPARAM wBindParam);
|
|||
|
|
//<2F><><EFBFBD>ݿ<EFBFBD><DDBF>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventDataBase(WORD wRequestID, DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPSocketLink(WORD wServiceID, INT nErrorCode);
|
|||
|
|
//<2F>ر<EFBFBD><D8B1>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPSocketShut(WORD wServiceID, BYTE cbShutReason);
|
|||
|
|
//<2F><>ȡ<EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPSocketRead(WORD wServiceID, TCP_Command Command, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//Ӧ<><D3A6><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPNetworkBind(DWORD dwClientAddr, DWORD dwSocketID);
|
|||
|
|
//<2F>ر<EFBFBD><D8B1>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPNetworkShut(DWORD dwClientAddr, DWORD dwActiveTime, DWORD dwSocketID);
|
|||
|
|
//<2F><>ȡ<EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPNetworkRead(TCP_Command Command, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
|
|||
|
|
//<2F><>Ϣ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendRoomMessage(LPCTSTR lpszMessage, WORD wType);
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
virtual bool SendGameMessage(LPCTSTR lpszMessage, WORD wType);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendRoomMessage(IServerUserItem * pIServerUserItem, LPCTSTR lpszMessage, WORD wType);
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
virtual bool SendGameMessage(IServerUserItem * pIServerUserItem, LPCTSTR lpszMessage, WORD wType);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendRoomMessage(DWORD dwSocketID, LPCTSTR lpszMessage, WORD wType, bool bAndroid);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendData(BYTE cbSendMask, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendData(DWORD dwSocketID, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendData(IServerUserItem * pIServerUserItem, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
//Ⱥ<><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendDataBatchToMobileUser(WORD wCmdTable, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܽӿ<DCBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual bool InsertDistribute(IServerUserItem * pIServerUserItem);
|
|||
|
|
//ɾ<><C9BE><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual bool DeleteDistribute(IServerUserItem * pIServerUserItem);
|
|||
|
|
//<2F><><EFBFBD>дʹ<D0B4><CAB9><EFBFBD>
|
|||
|
|
virtual void SensitiveWordFilter(LPCTSTR pMsg, LPTSTR pszFiltered, int nMaxLen);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID UnLockAndroidUser(WORD wServerID, WORD wBatchID);
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnEventUserItemScore(IServerUserItem * pIServerUserItem, BYTE cbReason);
|
|||
|
|
//<2F>û<EFBFBD>״̬
|
|||
|
|
virtual bool OnEventUserItemStatus(IServerUserItem * pIServerUserItem, WORD wOldTableID=INVALID_TABLE, WORD wOldChairID=INVALID_CHAIR);
|
|||
|
|
//<2F>û<EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
virtual bool OnEventUserItemRight(IServerUserItem *pIServerUserItem, DWORD dwAddRight, DWORD dwRemoveRight,bool bGameRight=true);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><>¼<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
bool OnDBLogonSuccess(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><>¼ʧ<C2BC><CAA7>
|
|||
|
|
bool OnDBLogonFailure(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool OnDBGameParameter(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F>б<EFBFBD><D0B1><EFBFBD>Ϣ
|
|||
|
|
bool OnDBGameColumnInfo(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool OnDBGameAndroidInfo(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnDBGameAndroidParameter(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool OnDBGamePropertyInfo(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD>
|
|||
|
|
bool OnDBGameCardLibrary(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
bool OnDBGameCardLibraryCfg(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool OnDBUserInsureInfo(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD>гɹ<D0B3>
|
|||
|
|
bool OnDBUserInsureSuccess(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
bool OnDBUserInsureFailure(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
bool OnDBUserInsureUserInfo(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD>߳ɹ<DFB3>
|
|||
|
|
bool OnDBPropertySuccess(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
bool OnDBPropertyFailure(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//ϵͳ<CFB5><CDB3>Ϣ
|
|||
|
|
bool OnDBSystemMessage(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>
|
|||
|
|
bool OnDBSensitiveWords(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//ע<><D7A2><EFBFBD>¼<EFBFBD>
|
|||
|
|
bool OnTCPSocketMainRegister(WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F>б<EFBFBD><D0B1>¼<EFBFBD>
|
|||
|
|
bool OnTCPSocketMainServiceInfo(WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
bool OnTCPSocketMainUserCollect(WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPSocketMainManagerService(WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><>վ<EFBFBD><D5BE><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPSocketMainWebService(WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainUser(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainLogon(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainGame(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainFrame(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainInsure(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainManage(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainMatch(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainPrivate(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//I D <20><>¼
|
|||
|
|
bool OnTCPNetworkSubLogonUserID(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>ֻ<EFBFBD><D6BB><EFBFBD>¼
|
|||
|
|
bool OnTCPNetworkSubLogonMobile(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>ʺŵ<CABA>¼
|
|||
|
|
bool OnTCPNetworkSubLogonAccounts(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubUserRule(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>û<EFBFBD><C3BB>Թ<EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubUserLookon(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubUserSitDown(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubUserStandUp(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubUserChat(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>û<EFBFBD>˽<EFBFBD><CBBD>
|
|||
|
|
bool OnTCPNetworkSubWisperChat(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubUserExpression(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubWisperExpression(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubPropertyBuy(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//ʹ<>õ<EFBFBD><C3B5><EFBFBD>
|
|||
|
|
bool OnTCPNetwordSubSendTrumpet(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubUserInviteReq(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>ܾ<EFBFBD><DCBE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubUserRepulseSit(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubMemberKickUser(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
bool OnTCPNetworkSubUserInfoReq(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
bool OnTCPNetworkSubUserChairReq(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
bool OnTCPNetworkSubChairUserInfoReq(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubQueryInsureInfo(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubSaveScoreRequest(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubTakeScoreRequest(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubTransferScoreRequest(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><>ѯ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubQueryUserInfoRequest(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubQueryOption(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubOptionServer(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>߳<EFBFBD><DFB3>û<EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubManagerKickUser(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubLimitUserChat(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
bool OnTCPNetworkSubKickAllUser(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool OnTCPNetworkSubSendMessage(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><>ɢ<EFBFBD><C9A2>Ϸ
|
|||
|
|
bool OnTCPNetworkSubDismissGame(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
|
|||
|
|
//<2F>ڲ<EFBFBD><DAB2>¼<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>¼
|
|||
|
|
VOID OnEventUserLogon(IServerUserItem * pIServerUserItem, bool bAlreadyOnLine);
|
|||
|
|
//<2F>û<EFBFBD><C3BB>dz<EFBFBD>
|
|||
|
|
VOID OnEventUserLogout(IServerUserItem * pIServerUserItem, DWORD dwLeaveReason);
|
|||
|
|
|
|||
|
|
//ִ<>й<EFBFBD><D0B9><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
bool PerformDistribute();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7>
|
|||
|
|
bool PerformUnlockScore(DWORD dwUserID, DWORD dwInoutIndex, DWORD dwLeaveReason);
|
|||
|
|
//<2F>汾<EFBFBD><E6B1BE><EFBFBD><EFBFBD>
|
|||
|
|
bool PerformCheckVersion(DWORD dwPlazaVersion, DWORD dwFrameVersion, DWORD dwClientVersion, DWORD dwSocketID);
|
|||
|
|
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool SwitchUserItemConnect(IServerUserItem * pIServerUserItem, TCHAR szMachineID[LEN_MACHINE_ID], WORD wTargetIndex,BYTE cbDeviceType=DEVICE_TYPE_PC,WORD wBehaviorFlags=0,WORD wPageTableCount=0);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendUserInfoPacket(IServerUserItem * pIServerUserItem, DWORD dwSocketID);
|
|||
|
|
virtual bool SendUserInfoPacket(IServerUserItem * pIServerUserItem, IServerUserItem * pISendToUserItem);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><>ǰ<EFBFBD>¼<EFBFBD>
|
|||
|
|
bool OnEventPropertyBuyPrep(WORD cbRequestArea,WORD wPropertyIndex,IServerUserItem *pISourceUserItem,IServerUserItem *pTargetUserItem);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool SendPropertyMessage(DWORD dwSourceID,DWORD dwTargerID,WORD wPropertyIndex,WORD wPropertyCount);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ЧӦ
|
|||
|
|
bool SendPropertyEffect(IServerUserItem * pIServerUserItem);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><>¼ʧ<C2BC><CAA7>
|
|||
|
|
bool SendLogonFailure(LPCTSTR pszString, LONG lErrorCode, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
bool SendInsureFailure(IServerUserItem * pIServerUserItem, LPCTSTR pszDescribe, LONG lErrorCode,BYTE cbActivityGame);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
bool SendRequestFailure(IServerUserItem * pIServerUserItem, LPCTSTR pszDescribe, LONG lErrorCode);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
bool SendPropertyFailure(IServerUserItem * pIServerUserItem, LPCTSTR pszDescribe, LONG lErrorCode,WORD wRequestArea);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
IServerUserItem * GetBindUserItem(WORD wBindIndex);
|
|||
|
|
//<2F><EFBFBD><F3B6A8B2><EFBFBD>
|
|||
|
|
tagBindParameter * GetBindParameter(WORD wBindIndex);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD GetPropertyType(WORD wPropertyIndex);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
|||
|
|
bool InitAndroidUser();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool InitTableFrameArray();
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
bool InitMatchServiceManager();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˷<EFBFBD>
|
|||
|
|
bool InitPrivateServiceManager();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool SendUIControlPacket(WORD wRequestID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
void SetMobileUserParameter(IServerUserItem * pIServerUserItem,BYTE cbDeviceType,WORD wBehaviorFlags,WORD wPageTableCount);
|
|||
|
|
//Ⱥ<><C8BA><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
bool SendUserInfoPacketBatchToMobileUser(IServerUserItem * pIServerUserItem);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
bool SendViewTableUserInfoPacketToMobileUser(IServerUserItem * pIServerUserItem,DWORD dwUserIDReq);
|
|||
|
|
//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
|
|||
|
|
bool MobileUserImmediately(IServerUserItem * pIServerUserItem);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int OnPropertyBuy(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ
|
|||
|
|
bool SendSystemMessage(CMD_GR_SendMessage * pSendMessage, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
|
void ClearSystemMessageData();
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#endif
|