M_ActivityCFG.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #pragma once
  2. #include <boost/unordered_map.hpp>
  3. #include <vector>
  4. struct M_ActivityCFGData
  5. {
  6. //Key
  7. int mID;
  8. //活动名称
  9. std::string mActivityName;
  10. //开放类型
  11. int mOpenType;
  12. //开始时间
  13. std::string mStartTime;
  14. //结束时间
  15. std::string mEndTime;
  16. //每周开放时间
  17. std::vector<int> mOpenDay;
  18. //是否活动中心
  19. int mActivityCenter;
  20. //对应bit值
  21. int mbit;
  22. //显示排序
  23. int mActivitySort;
  24. //客户端专用开启日期
  25. std::vector<int> mOpenWday;
  26. //领取奖励结束时间
  27. std::string mRecvEndTime;
  28. //页签icon
  29. std::string mActivityIcon;
  30. //活动角标
  31. int mCornerMarker;
  32. //活动提示
  33. std::vector<std::string> mActivityTips;
  34. //活动类型
  35. int mActivityType;
  36. //充值
  37. int mRechargeRMB;
  38. //VIP等级条件
  39. int mVipLevel;
  40. //登陆日期
  41. std::string mLoginDay;
  42. //支付ID,与M_RechangeCFG表对应
  43. int mPayId;
  44. //奖励列表
  45. std::vector<int> mRewardList;
  46. //奖励个数
  47. std::vector<int> mRewardCount;
  48. //奖励邮件标题
  49. std::string mActivityRewardMailTitle;
  50. //奖励邮件内容
  51. std::string mActivityRewardMailContent;
  52. //奖励领取方式, 0:通过邮件 1:手动点击按钮领取,2立即领取
  53. int mReceiveWay;
  54. };
  55. class M_ActivityCFG
  56. {
  57. public:
  58. private:
  59. static std::auto_ptr<M_ActivityCFG> msSingleton;
  60. public:
  61. int GetCount();
  62. const M_ActivityCFGData* GetData(int ID);
  63. boost::unordered_map<int, M_ActivityCFGData>& GetMapData();
  64. void Reload();
  65. void Load(const std::string& path);
  66. void Load();
  67. static M_ActivityCFG* GetSingleton();
  68. private:
  69. boost::unordered_map<int, M_ActivityCFGData> mMapData;
  70. };