诸暨麻将添加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.
 
 
 
 
 
 

157 lines
6.1 KiB

  1. #ifndef RIGHT_DEFINE_HEAD_FILE
  2. #define RIGHT_DEFINE_HEAD_FILE
  3. //////////////////////////////////////////////////////////////////////////////////
  4. //权限类型
  5. #define UR_KIND_GAME 0 //游戏权限
  6. #define UR_KIND_MATCH 1 //比赛权限
  7. #define UR_KIND_SERVER 2 //房间权限
  8. //用户权限
  9. #define UR_CANNOT_PLAY 0x00000001L //不能进行游戏
  10. #define UR_CANNOT_LOOKON 0x00000002L //不能旁观游戏
  11. #define UR_CANNOT_WISPER 0x00000004L //不能发送私聊
  12. #define UR_CANNOT_ROOM_CHAT 0x00000008L //不能大厅聊天
  13. #define UR_CANNOT_GAME_CHAT 0x00000010L //不能游戏聊天
  14. #define UR_CANNOT_BUGLE 0x00000020L //不能发送喇叭
  15. //会员权限
  16. #define UR_GAME_DOUBLE_SCORE 0x00000100L //游戏双倍积分
  17. #define UR_GAME_KICK_OUT_USER 0x00000200L //游戏踢出用户
  18. #define UR_GAME_ENTER_VIP_ROOM 0x00000400L //进入VIP房间
  19. //用户身份
  20. #define UR_GAME_MATCH_USER 0x10000000L //游戏比赛用户
  21. #define UR_GAME_CHEAT_USER 0x20000000L //游戏作弊用户
  22. //////////////////////////////////////////////////////////////////////////////////
  23. //普通管理
  24. #define UR_CAN_LIMIT_PLAY 0x00000001L //允许禁止游戏
  25. #define UR_CAN_LIMIT_LOOKON 0x00000002L //允许禁止旁观
  26. #define UR_CAN_LIMIT_WISPER 0x00000004L //允许禁止私聊
  27. #define UR_CAN_LIMIT_ROOM_CHAT 0x00000008L //允许禁止聊天
  28. #define UR_CAN_LIMIT_GAME_CHAT 0x00000010L //允许禁止聊天
  29. //用户管理
  30. #define UR_CAN_KILL_USER 0x00000100L //允许踢出用户
  31. #define UR_CAN_SEE_USER_IP 0x00000200L //允许查看地址
  32. #define UR_CAN_DISMISS_GAME 0x00000400L //允许解散游戏
  33. #define UR_CAN_LIMIT_USER_CHAT 0x00000800L //允许禁止玩家聊天
  34. //高级管理
  35. #define UR_CAN_CONFINE_IP 0x00001000L //允许禁止地址
  36. #define UR_CAN_CONFINE_MAC 0x00002000L //允许禁止机器
  37. #define UR_CAN_SEND_WARNING 0x00004000L //允许发送警告
  38. #define UR_CAN_MODIFY_SCORE 0x00008000L //允许修改积分
  39. #define UR_CAN_FORBID_ACCOUNTS 0x00010000L //允许封锁帐号
  40. //绑定管理
  41. #define UR_CAN_BIND_GAME 0x00100000L //允许游戏绑定
  42. #define UR_CAN_BIND_GLOBAL 0x00200000L //允许全局绑定
  43. //配置管理
  44. #define UR_CAN_ISSUE_MESSAGE 0x01000000L //允许发布消息
  45. #define UR_CAN_MANAGER_SERVER 0x02000000L //允许管理房间
  46. #define UR_CAN_MANAGER_OPTION 0x04000000L //允许管理配置
  47. #define UR_CAN_MANAGER_ANDROID 0x08000000L //允许管理机器
  48. //////////////////////////////////////////////////////////////////////////////////
  49. //用户权限
  50. class CUserRight
  51. {
  52. //玩家权限
  53. public:
  54. //游戏权限
  55. static bool CanPlay(DWORD dwUserRight) { return (dwUserRight&UR_CANNOT_PLAY)==0; }
  56. //旁观权限
  57. static bool CanLookon(DWORD dwUserRight) { return (dwUserRight&UR_CANNOT_LOOKON)==0; }
  58. //私聊权限
  59. static bool CanWisper(DWORD dwUserRight) { return (dwUserRight&UR_CANNOT_WISPER)==0; }
  60. //大厅聊天
  61. static bool CanRoomChat(DWORD dwUserRight) { return (dwUserRight&UR_CANNOT_ROOM_CHAT)==0; }
  62. //游戏聊天
  63. static bool CanGameChat(DWORD dwUserRight) { return (dwUserRight&UR_CANNOT_GAME_CHAT)==0; }
  64. //进入VIP房
  65. static bool CanEnterVipRoom(DWORD dwUserRight) { return (dwUserRight&UR_GAME_ENTER_VIP_ROOM)==0; }
  66. //会员权限
  67. public:
  68. //双倍积分
  69. static bool CanDoubleScore(DWORD dwUserRight) { return (dwUserRight&UR_GAME_DOUBLE_SCORE)!=0; }
  70. //踢出用户
  71. static bool CanKillOutUser(DWORD dwUserRight) { return (dwUserRight&UR_GAME_KICK_OUT_USER)!=0; }
  72. //特殊权限
  73. public:
  74. //比赛用户
  75. static bool IsGameMatchUser(DWORD dwUserRight) { return (dwUserRight&UR_GAME_MATCH_USER)!=0; }
  76. //作弊用户
  77. static bool IsGameCheatUser(DWORD dwUserRight) { return (dwUserRight&UR_GAME_CHEAT_USER)!=0; }
  78. };
  79. //////////////////////////////////////////////////////////////////////////////////
  80. //管理权限
  81. class CMasterRight
  82. {
  83. //普通管理
  84. public:
  85. //禁止游戏
  86. static bool CanLimitPlay(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_LIMIT_PLAY)!=0); }
  87. //禁止旁观
  88. static bool CanLimitLookon(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_LIMIT_LOOKON)!=0); }
  89. //禁止私聊
  90. static bool CanLimitWisper(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_LIMIT_WISPER)!=0); }
  91. //禁止聊天
  92. static bool CanLimitRoomChat(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_LIMIT_ROOM_CHAT)!=0); }
  93. //禁止聊天
  94. static bool CanLimitGameChat(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_LIMIT_GAME_CHAT)!=0); }
  95. //用户管理
  96. public:
  97. //踢出用户
  98. static bool CanKillUser(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_KILL_USER)!=0); }
  99. //查看地址
  100. static bool CanSeeUserIP(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_SEE_USER_IP)!=0); }
  101. //解散游戏
  102. static bool CanDismissGame(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_DISMISS_GAME)!=0); }
  103. //禁止玩家聊天
  104. static bool CanLimitUserChat(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_LIMIT_USER_CHAT)!=0); }
  105. //高级管理
  106. public:
  107. //禁止地址
  108. static bool CanConfineIP(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_CONFINE_IP)!=0); }
  109. //禁止机器
  110. static bool CanConfineMac(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_CONFINE_MAC)!=0); }
  111. //发送警告
  112. static bool CanSendWarning(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_SEND_WARNING)!=0); }
  113. //修改积分
  114. static bool CanModifyScore(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_MODIFY_SCORE)!=0); }
  115. //封锁帐号
  116. static bool CanForbidAccounts(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_FORBID_ACCOUNTS)!=0); }
  117. //绑定管理
  118. public:
  119. //游戏绑定
  120. static bool CanBindGame(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_BIND_GAME)!=0); }
  121. //全局绑定
  122. static bool CanBindGlobal(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_BIND_GLOBAL)!=0); }
  123. //配置管理
  124. public:
  125. //发布消息
  126. static bool CanIssueMessage(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_ISSUE_MESSAGE)!=0); }
  127. //管理房间
  128. static bool CanManagerServer(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_MANAGER_SERVER)!=0); }
  129. //管理机器
  130. static bool CanManagerAndroid(DWORD dwMasterRight) { return ((dwMasterRight&UR_CAN_MANAGER_ANDROID)!=0); }
  131. };
  132. //////////////////////////////////////////////////////////////////////////////////
  133. #endif