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

79 line
2.2 KiB

  1. #ifndef USER_TASK_MANAGER_HEAD_FILE
  2. #define USER_TASK_MANAGER_HEAD_FILE
  3. #pragma once
  4. #include "GameServiceHead.h"
  5. //////////////////////////////////////////////////////////////////////////////////
  6. //类型定义
  7. typedef CWHArray<tagUserTaskEntry *> CUserTaskEntryArray;
  8. typedef CWHArray<tagTaskParameter *> CTaskParameterArray;
  9. //类型定义
  10. typedef CMap<WORD, WORD, tagTaskParameter *, tagTaskParameter *> CTaskParameterMap;
  11. typedef CMap<DWORD, DWORD, tagUserTaskEntry *, tagUserTaskEntry *> CUserTaskEntryMap;
  12. //////////////////////////////////////////////////////////////////////////////////
  13. //道具管理
  14. class GAME_SERVICE_CLASS CUserTaskManager : public IUserTaskManagerSink
  15. {
  16. //变量定义
  17. protected:
  18. CTaskParameterMap m_TaskParameterMap; //任务参数
  19. CUserTaskEntryMap m_UserTaskEntryMap; //任务入口
  20. CTaskParameterArray m_TaskParameterBuffer; //参数缓冲
  21. CUserTaskEntryArray m_UserTaskEntryBuffer; //任务缓冲
  22. //函数定义
  23. public:
  24. //构造函数
  25. CUserTaskManager();
  26. //析构函数
  27. virtual ~CUserTaskManager();
  28. //基础接口
  29. public:
  30. //释放对象
  31. virtual VOID Release() { return; }
  32. //接口查询
  33. virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer);
  34. //任务参数
  35. public:
  36. //移除参数
  37. virtual VOID RemoveTaskParameter();
  38. //查找参数
  39. virtual tagTaskParameter * SearchTaskParameter(WORD wTaskID);
  40. //枚举参数
  41. virtual tagTaskParameter * EnumTaskParameter(POSITION & Position);
  42. //添加参数
  43. virtual bool AddTaskParameter(tagTaskParameter TaskParameter[], WORD wPatemterCount);
  44. //用户任务
  45. public:
  46. //移除任务
  47. virtual VOID RemoveUserTask(DWORD dwUserID);
  48. //获取任务
  49. virtual tagUserTaskEntry * GetUserTaskEntry(DWORD dwUserID);
  50. //获取任务
  51. virtual tagUserTaskEntry * GetUserTaskEntry(DWORD dwUserID, BYTE cbTaskStatus);
  52. //设置任务
  53. virtual VOID SetUserTaskInfo(DWORD dwUserID, tagUserTaskInfo UserTaskInfo[], WORD wTaskCount);
  54. //辅助函数
  55. protected:
  56. //创建任务
  57. tagUserTaskEntry * CreateUserTaskEntry();
  58. //辅助函数
  59. public:
  60. //重置对象
  61. VOID ResetTaskManager();
  62. };
  63. //////////////////////////////////////////////////////////////////////////////////
  64. #endif