#ifndef USER_TASK_MANAGER_HEAD_FILE #define USER_TASK_MANAGER_HEAD_FILE #pragma once #include "GameServiceHead.h" ////////////////////////////////////////////////////////////////////////////////// //类型定义 typedef CWHArray CUserTaskEntryArray; typedef CWHArray CTaskParameterArray; //类型定义 typedef CMap CTaskParameterMap; typedef CMap CUserTaskEntryMap; ////////////////////////////////////////////////////////////////////////////////// //道具管理 class GAME_SERVICE_CLASS CUserTaskManager : public IUserTaskManagerSink { //变量定义 protected: CTaskParameterMap m_TaskParameterMap; //任务参数 CUserTaskEntryMap m_UserTaskEntryMap; //任务入口 CTaskParameterArray m_TaskParameterBuffer; //参数缓冲 CUserTaskEntryArray m_UserTaskEntryBuffer; //任务缓冲 //函数定义 public: //构造函数 CUserTaskManager(); //析构函数 virtual ~CUserTaskManager(); //基础接口 public: //释放对象 virtual VOID Release() { return; } //接口查询 virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer); //任务参数 public: //移除参数 virtual VOID RemoveTaskParameter(); //查找参数 virtual tagTaskParameter * SearchTaskParameter(WORD wTaskID); //枚举参数 virtual tagTaskParameter * EnumTaskParameter(POSITION & Position); //添加参数 virtual bool AddTaskParameter(tagTaskParameter TaskParameter[], WORD wPatemterCount); //用户任务 public: //移除任务 virtual VOID RemoveUserTask(DWORD dwUserID); //获取任务 virtual tagUserTaskEntry * GetUserTaskEntry(DWORD dwUserID); //获取任务 virtual tagUserTaskEntry * GetUserTaskEntry(DWORD dwUserID, BYTE cbTaskStatus); //设置任务 virtual VOID SetUserTaskInfo(DWORD dwUserID, tagUserTaskInfo UserTaskInfo[], WORD wTaskCount); //辅助函数 protected: //创建任务 tagUserTaskEntry * CreateUserTaskEntry(); //辅助函数 public: //重置对象 VOID ResetTaskManager(); }; ////////////////////////////////////////////////////////////////////////////////// #endif