诸暨麻将添加redis
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

180 linhas
4.7 KiB

  1. #ifndef ANDROID_USER_TIEM_HEAD_FILE
  2. #define ANDROID_USER_TIEM_HEAD_FILE
  3. #pragma once
  4. #include "GameServiceHead.h"
  5. //////////////////////////////////////////////////////////////////////////////////
  6. //时间子项
  7. struct tagTimerItem
  8. {
  9. UINT nTimerID; //时间标识
  10. UINT nTimeLeave; //剩余时间
  11. };
  12. //类说明
  13. typedef CWHArray<tagTimerItem *> CTimerItemArray; //时间数组
  14. //////////////////////////////////////////////////////////////////////////////////
  15. //机器人信息
  16. class GAME_SERVICE_CLASS CAndroidUserItem : public IAndroidUserItem
  17. {
  18. //友元定义
  19. friend class CAndroidUserManager;
  20. //状态变量
  21. protected:
  22. bool m_bWaitLeave; //等待离开
  23. bool m_bStartClient; //游戏标志
  24. BYTE m_cbGameStatus; //游戏状态
  25. WORD m_wAndroidAction; //机器动作
  26. DWORD m_dwPlayInnings; //游戏局数
  27. tagUserStatus m_CurrentUserStatus; //用户状态
  28. //绑定变量
  29. protected:
  30. IServerUserItem * m_pIServerUserItem; //用户接口
  31. //状态信息
  32. protected:
  33. tagAndroidService m_AndroidService; //服务信息
  34. tagAndroidItemConfig m_AndroidItemConfig; //机器信息
  35. //索引变量
  36. protected:
  37. WORD m_wRoundID; //循环索引
  38. WORD m_wAndroidIndex; //索引变量
  39. //时间组件
  40. protected:
  41. CTimerItemArray m_TimerItemActive; //活动数组
  42. static CTimerItemArray m_TimerItemBuffer; //库存数组
  43. //时间变量
  44. protected:
  45. DWORD m_dwMinSitInterval; //坐下间隔
  46. DWORD m_dwMaxSitInterval; //坐下间隔
  47. DWORD m_dwStandupTickCount; //起立时间
  48. DWORD m_dwReposeTickCount; //休息时间
  49. //接口变量
  50. protected:
  51. IServerUserManager * m_pIServerUserManager; //用户管理
  52. IAndroidUserManager * m_pIAndroidUserManager; //管理接口
  53. IAndroidUserItemSink * m_pIAndroidUserItemSink; //回调接口
  54. //函数定义
  55. public:
  56. //构造函数
  57. CAndroidUserItem();
  58. //析构函数
  59. virtual ~CAndroidUserItem();
  60. //基础接口
  61. public:
  62. //释放对象
  63. virtual VOID Release() { delete this; }
  64. //接口查询
  65. virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer);
  66. //用户信息
  67. public:
  68. //获取 I D
  69. virtual DWORD GetUserID();
  70. //桌子号码
  71. virtual WORD GetTableID();
  72. //椅子号码
  73. virtual WORD GetChairID();
  74. //状态接口
  75. public:
  76. //获取状态
  77. virtual BYTE GetGameStatus() { return m_cbGameStatus; }
  78. //设置状态
  79. virtual VOID SetGameStatus(BYTE cbGameStatus) { m_cbGameStatus = cbGameStatus; }
  80. //配置信息
  81. public:
  82. //获取状态
  83. virtual tagAndroidService * GetAndroidService() { return &m_AndroidService; }
  84. //获取配置
  85. virtual tagAndroidParameter * GetAndroidParameter() { return m_AndroidItemConfig.pAndroidParameter; }
  86. //用户接口
  87. public:
  88. //获取自己
  89. virtual IServerUserItem * GetMeUserItem();
  90. //游戏用户
  91. virtual IServerUserItem * GetTableUserItem(WORD wChariID);
  92. //银行接口
  93. public:
  94. //存入游戏币
  95. virtual bool PerformSaveScore(SCORE lScore);
  96. //提取游戏币
  97. virtual bool PerformTakeScore(SCORE lScore);
  98. //网络接口
  99. public:
  100. //发送函数
  101. virtual bool SendSocketData(WORD wSubCmdID);
  102. //发送函数
  103. virtual bool SendSocketData(WORD wSubCmdID, VOID * pData, WORD wDataSize);
  104. //动作接口
  105. public:
  106. //机器动作
  107. virtual bool JudgeAndroidActionAndRemove(WORD wAction);
  108. //功能接口
  109. public:
  110. //删除时间
  111. virtual bool KillGameTimer(UINT nTimerID);
  112. //设置时间
  113. virtual bool SetGameTimer(UINT nTimerID, UINT nElapse);
  114. //发送准备
  115. virtual bool SendUserReady(VOID * pData, WORD wDataSize);
  116. //发送聊天
  117. virtual bool SendChatMessage(DWORD dwTargetUserID, LPCTSTR pszChatString, COLORREF crColor);
  118. //事件通知
  119. public:
  120. //时间事件
  121. bool OnTimerPulse(DWORD dwTimerID, WPARAM dwBindParameter);
  122. //网络消息
  123. bool OnSocketRead(WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize);
  124. //网络事件
  125. protected:
  126. //登录失败
  127. bool OnSocketSubLogonFailure(VOID * pData, WORD wDataSize);
  128. //登录完成
  129. bool OnSocketSubLogonFinish(VOID * pData, WORD wDataSize);
  130. //用户状态
  131. bool OnSocketSubUserStatus(VOID * pData, WORD wDataSize);
  132. //系统消息
  133. bool OnSocketSubSystemMessage(VOID * pData, WORD wDataSize);
  134. //游戏消息
  135. bool OnSocketGameMessage(WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize);
  136. //控制函数
  137. protected:
  138. //启动游戏
  139. VOID StartGameClient();
  140. //关闭游戏
  141. VOID CloseGameClient();
  142. //辅助函数
  143. public:
  144. //复位数据
  145. VOID RepositUserItem();
  146. };
  147. //////////////////////////////////////////////////////////////////////////////////
  148. #endif