诸暨麻将添加redis
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 
 

225 wiersze
7.1 KiB

  1. #ifndef ATTEMPER_ENGINE_SINK_HEAD_FILE
  2. #define ATTEMPER_ENGINE_SINK_HEAD_FILE
  3. #pragma once
  4. #include "Stdafx.h"
  5. #include "InitParameter.h"
  6. #include "ServerListManager.h"
  7. //////////////////////////////////////////////////////////////////////////////////
  8. //数据定义
  9. //连接类型
  10. #define CLIENT_KIND_FALSH 1 //网页类型
  11. #define CLIENT_KIND_MOBILE 2 //手机类型
  12. #define CLIENT_KIND_COMPUTER 3 //电脑类型
  13. //绑定参数
  14. struct tagBindParameter
  15. {
  16. //网络参数
  17. DWORD dwSocketID; //网络标识
  18. DWORD dwClientAddr; //连接地址
  19. DWORD dwActiveTime; //激活时间
  20. //连接信息
  21. WORD wModuleID; //模块标识
  22. BYTE cbClientKind; //连接类型
  23. DWORD dwPlazaVersion; //大厅版本
  24. };
  25. //平台配置
  26. struct tagPlatformParameter
  27. {
  28. WORD wExchangeRate; //兑换比率
  29. };
  30. //////////////////////////////////////////////////////////////////////////////////
  31. //调度钩子
  32. class CAttemperEngineSink : public IAttemperEngineSink
  33. {
  34. //友元定义
  35. friend class CHttpClient;
  36. friend class CServiceUnits;
  37. friend class CLogonServerDlg;
  38. //状态变量
  39. protected:
  40. ///[---add by yd
  41. DWORD m_dwHearbeatTime;
  42. public:
  43. WORD m_wServerID; //登录服务器ID
  44. ///---]
  45. protected:
  46. bool m_bNeekCorrespond; //协调标志
  47. bool m_bShowServerStatus; //显示服务器状态
  48. //配置变量
  49. protected:
  50. SCORE m_lCheckInReward[LEN_WEEK]; //签到奖励
  51. tagPlatformParameter m_PlatformParameter; //平台参数
  52. tagBaseEnsureParameter m_BaseEnsureParameter; //低保参数
  53. CMap<int, int, HTREEITEM, HTREEITEM> m_LoginServiceIDMap; //游戏服务器菜单记录
  54. //任务参数
  55. protected:
  56. WORD m_wTaskCount; //任务数目
  57. WORD m_wTaskCountBuffer; //任务数目
  58. tagTaskParameter m_TaskParameter[TASK_MAX_COUNT]; //任务参数
  59. tagTaskParameter m_TaskParameterBuffer[TASK_MAX_COUNT];//任务参数
  60. //会员参数
  61. protected:
  62. WORD m_wMemberCount; //会员数目
  63. tagMemberParameter m_MemberParameter[10]; //会员参数
  64. CMap<DWORD, DWORD, WORD, WORD> m_MapServerUserID; //玩家GameServer信息 ///---dwUserID => wServerID
  65. //等级配置
  66. protected:
  67. WORD m_wLevelCount; //等级数目
  68. tagGrowLevelConfig m_GrowLevelConfig[60]; //等级配置
  69. //变量定义
  70. protected:
  71. CInitParameter * m_pInitParameter; //配置参数
  72. tagBindParameter * m_pBindParameter; //辅助数组
  73. //组件变量
  74. public:
  75. CServerListManager m_ServerListManager; //列表管理
  76. //组件接口
  77. public:
  78. ITimerEngine * m_pITimerEngine; //时间引擎
  79. IDataBaseEngine * m_pIDataBaseEngine; //数据引擎
  80. ITCPNetworkEngine * m_pITCPNetworkEngine; //网络引擎
  81. ITCPSocketService * m_pITCPSocketService; //协调服务
  82. //视频配置
  83. protected:
  84. WORD m_wAVServerPort; //视频端口
  85. DWORD m_dwAVServerAddr; //视频地址
  86. //函数定义
  87. public:
  88. //构造函数
  89. CAttemperEngineSink();
  90. //析构函数
  91. virtual ~CAttemperEngineSink();
  92. //基础接口
  93. public:
  94. //释放对象
  95. virtual VOID Release() { return; }
  96. //接口查询
  97. virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer);
  98. //替换昵称
  99. void Fstring(TCHAR* pCheck);
  100. //异步接口
  101. public:
  102. //启动事件
  103. virtual bool OnAttemperEngineStart(IUnknownEx * pIUnknownEx);
  104. //停止事件
  105. virtual bool OnAttemperEngineConclude(IUnknownEx * pIUnknownEx);
  106. //事件接口
  107. public:
  108. //控制事件
  109. virtual bool OnEventControl(WORD wIdentifier, VOID * pData, WORD wDataSize);
  110. //自定事件
  111. virtual bool OnEventAttemperData(WORD wRequestID, VOID * pData, WORD wDataSize);
  112. //同步事件
  113. virtual bool OnTongBu(int Command, DWORD dwContextID, VOID * pData, WORD wDataSize);
  114. //内核事件
  115. public:
  116. //时间事件
  117. virtual bool OnEventTimer(DWORD dwTimerID, WPARAM wBindParam);
  118. //数据库事件
  119. virtual bool OnEventDataBase(WORD wRequestID, DWORD dwContextID, VOID * pData, WORD wDataSize);
  120. int UpDataTongDao();
  121. //连接事件
  122. public:
  123. //连接事件
  124. virtual bool OnEventTCPSocketLink(WORD wServiceID, INT nErrorCode);
  125. //关闭事件
  126. virtual bool OnEventTCPSocketShut(WORD wServiceID, BYTE cbShutReason);
  127. //读取事件
  128. virtual bool OnEventTCPSocketRead(WORD wServiceID, TCP_Command Command, VOID * pData, WORD wDataSize);
  129. //网络事件
  130. public:
  131. //应答事件
  132. virtual bool OnEventTCPNetworkBind(DWORD dwClientAddr, DWORD dwSocketID);
  133. //关闭事件
  134. virtual bool OnEventTCPNetworkShut(DWORD dwClientAddr, DWORD dwActiveTime, DWORD dwSocketID);
  135. //读取事件
  136. virtual bool OnEventTCPNetworkRead(TCP_Command Command, VOID * pData, WORD wDataSize, DWORD dwSocketID);
  137. //连接处理
  138. protected:
  139. //注册事件
  140. bool OnTCPSocketMainRegister(WORD wSubCmdID, VOID * pData, WORD wDataSize);
  141. //服务信息
  142. bool OnTCPSocketMainServiceInfo(WORD wSubCmdID, VOID * pData, WORD wDataSize);
  143. //管理服务
  144. bool OnTCPSocketMainManagerService(WORD wSubCmdID, VOID * pData, WORD wDataSize);
  145. //手机事件
  146. protected:
  147. //获取验证码
  148. bool OnTCPNetworkMainYanZhengM(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
  149. //登录处理
  150. bool OnTCPNetworkMainMBLogon(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
  151. //手机事件
  152. protected:
  153. //帐号登录,手机登录
  154. bool OnTCPNetworkSubMBLogonAccounts(VOID * pData, WORD wDataSize, DWORD dwSocketID);
  155. //其他登录
  156. bool OnTCPNetworkSubMBLogonOtherPlatform(VOID * pData, WORD wDataSize, DWORD dwSocketID);
  157. //游戏事件
  158. protected:
  159. //数据库校验手机号码
  160. bool OnDBPCYanZhengMSuccess(DWORD dwContextID, VOID * pData, WORD wDataSize);
  161. //手机事件
  162. protected:
  163. //登录成功
  164. bool OnDBMBLogonSuccess(DWORD dwContextID, VOID * pData, WORD wDataSize);
  165. //登录失败
  166. bool OnDBMBLogonFailure(DWORD dwContextID, VOID * pData, WORD wDataSize);
  167. std::string string_To_UTF8(LPCSTR str, DWORD dwSize);
  168. //列表事件
  169. protected:
  170. ////游戏列表
  171. bool OnDBPCGameListResult(DWORD dwContextID, VOID * pData, WORD wDataSize);
  172. //辅助函数
  173. protected:
  174. //版本检测
  175. bool CheckPlazaVersion(BYTE cbDeviceType, DWORD dwPlazaVersion, DWORD dwSocketID, bool bCheckLowVer = true);
  176. //发送请求
  177. bool SendUIControlPacket(WORD wRequestID, VOID * pData, WORD wDataSize);
  178. //手机列表
  179. protected:
  180. //发送房间
  181. int SendMobileServerInfo(DWORD dwSocketID, WORD wModuleID, DWORD dwXinYong, DWORD wServerID, DWORD dUserID, LONGLONG JuLi);
  182. //获取距离排名
  183. bool GetPaiMing(DWORD dUserID, LONGLONG JuLi, int& iPaiMing, int& iCount);
  184. //辅助函数
  185. public:
  186. // 获取可用服务器
  187. CGameServerItem* GetServiceLevel(int iLevel, CList<CGameServerItem*>* List, DWORD UserID, int iPaiMing, int iCount);
  188. //验证码回调
  189. bool OnTCPNetworkMainMBLogonMiMa(CString strIPhone, CString VerfCode, DWORD dwSocketID);
  190. bool OnTCPNetworkMainHandleMBLogon(CString strIPhone, DWORD dwSocketID);
  191. };
  192. //////////////////////////////////////////////////////////////////////////////////
  193. #endif