诸暨麻将添加redis
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

148 lines
4.1 KiB

  1. #ifndef SERVER_INFO_MANAGER_HEAD_FILE
  2. #define SERVER_INFO_MANAGER_HEAD_FILE
  3. #pragma once
  4. #include "AfxTempl.h"
  5. #include "ModuleManagerHead.h"
  6. #include <vector>
  7. //////////////////////////////////////////////////////////////////////////////////
  8. //数组定义
  9. typedef CWHArray<tagGameServerInfo *> CGameServerInfoArray;
  10. typedef CWHArray<tagGameMatchOption *> CGameMatchOptionArray;
  11. //索引定义
  12. typedef CMap<WORD, WORD, tagGameServerInfo *, tagGameServerInfo *> CGameServerInfoMap;
  13. typedef CMap<DWORD, DWORD, tagGameMatchOption *, tagGameMatchOption *> CGameMatchOptionMap;
  14. //////////////////////////////////////////////////////////////////////////////////
  15. //模块数据
  16. class MODULE_MANAGER_CLASS CServerInfoBuffer
  17. {
  18. //变量定义
  19. public:
  20. CGameServerInfoMap m_GameServerInfoMap; //模块索引
  21. CGameServerInfoArray m_GameServerInfoArray; //模块数组
  22. //函数定义
  23. public:
  24. //构造函数
  25. CServerInfoBuffer();
  26. //析构函数
  27. virtual ~CServerInfoBuffer();
  28. //管理函数
  29. public:
  30. //重置数据
  31. bool ResetServerInfo();
  32. //删除数据
  33. bool DeleteServerInfo(WORD wServerID);
  34. //插入数据
  35. bool InsertServerInfo(tagGameServerInfo * pGameServerInfo);
  36. //信息函数
  37. public:
  38. //获取数目
  39. DWORD GetServerInfoCount();
  40. //查找数据
  41. tagGameServerInfo * SearchServerInfo(WORD wServerID);
  42. //内部函数
  43. private:
  44. //创建对象
  45. tagGameServerInfo * CreateServerInfo();
  46. };
  47. //////////////////////////////////////////////////////////////////////////////////
  48. //模块数据
  49. class MODULE_MANAGER_CLASS CMatchOptionBuffer
  50. {
  51. //变量定义
  52. public:
  53. //CGameMatchOptionMap m_GameMatchOptionMap; //模块索引
  54. CGameMatchOptionArray m_GameMatchOptionArray; //模块数组
  55. CGameMatchOptionArray m_GameMatchOptionBuffer; //模块数组
  56. //函数定义
  57. public:
  58. //构造函数
  59. CMatchOptionBuffer();
  60. //析构函数
  61. virtual ~CMatchOptionBuffer();
  62. //管理函数
  63. public:
  64. //重置数据
  65. bool ResetMatchOption();
  66. //删除数据
  67. bool DeleteMatchOption(DWORD dwMatchID, DWORD wMatchNO);
  68. //插入数据
  69. bool InsertMatchOption(tagGameMatchOption * pGameMatchOption);
  70. //信息函数
  71. public:
  72. //获取数目
  73. DWORD GetMatchOptionCount();
  74. //查找数据
  75. tagGameMatchOption * SearchMatchOption(DWORD dwMatchID, DWORD wMatchNO);
  76. //内部函数
  77. private:
  78. //创建对象
  79. tagGameMatchOption * CreateMatchOption();
  80. };
  81. //////////////////////////////////////////////////////////////////////////////////
  82. //模块信息
  83. class MODULE_MANAGER_CLASS CServerInfoManager
  84. {
  85. //函数定义
  86. public:
  87. //构造函数
  88. CServerInfoManager();
  89. //析构函数
  90. virtual ~CServerInfoManager();
  91. //加载房间
  92. public:
  93. //加载房间
  94. bool LoadGameServerInfo(TCHAR szMachineID[LEN_MACHINE_ID], CServerInfoBuffer & ServerInfoBuffer);
  95. //加载房间
  96. bool LoadGameServerInfo(TCHAR szMachineID[LEN_MACHINE_ID], WORD wServerID, tagGameServerInfo & GameServerResult);
  97. //比赛管理
  98. public:
  99. //加载奖励
  100. WORD LoadGameMatchReward(DWORD dwMatchID, DWORD dwMatchNO);
  101. //加载比赛
  102. bool LoadGameMatchOption(WORD wKindID, CMatchOptionBuffer & MatchOptionBuffer);
  103. //加载比赛
  104. bool LoadGameMatchOption(WORD wKindID, DWORD dwMatchID, DWORD dwMatchNO, tagGameMatchOption & GameMatchResult);
  105. ///+++加载场馆信息列表
  106. bool LoadVenueInfos(int wKindID, std::vector<tagVenueInfo>& vecVenueInfo);
  107. //注册管理
  108. public:
  109. //删除房间
  110. bool DeleteGameServer(WORD wServerID);
  111. //插入房间
  112. bool InsertGameServer(tagGameServerCreate * pGameServerCreate, tagGameServerInfo & GameServerResult);
  113. //修改房间
  114. bool ModifyGameServer(tagGameServerCreate * pGameServerCreate, tagGameServerInfo & GameServerResult);
  115. //内部函数
  116. private:
  117. //连接数据
  118. bool ConnectPlatformDB(CDataBaseHelper & PlatformDBModule);
  119. //读取房间
  120. bool ReadGameServerInfo(CDataBaseAide & PlatformDBAide, tagGameServerInfo & GameServerResult);
  121. //读取比赛
  122. bool ReadGameMatchOption(CDataBaseAide & PlatformDBAide, tagGameMatchOption & GameMatchResult);
  123. };
  124. //////////////////////////////////////////////////////////////////////////////////
  125. #endif