M_ExchangeCFG.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include <map>
  3. struct M_ExchangeCFGData
  4. {
  5. //兑换ID
  6. int mChangeId;
  7. //所在功能
  8. int mFunction;
  9. // 兑换顺序
  10. int moder;
  11. //道具名称
  12. std::string mItemName;
  13. //物品描述
  14. std::string mItemDesc;
  15. //VIP条件
  16. int mVipCondition;
  17. //兑换类型
  18. int mExchangeType;
  19. //所需道具id
  20. std::vector<int> mNeedItemId;
  21. //所花费话费卷数量(单位分)
  22. std::vector<int> mNeedItemCount;
  23. //道具ID(与ItemCFG.xld道具ID对应)
  24. std::vector<int> mItemId;
  25. //兑换物品数量
  26. std::vector<int> mItemCount;
  27. //显示资源ICON
  28. std::string mIcon;
  29. //次数类型
  30. int mTimeType;
  31. //服务器每日最大可兑换次数,0表示当天不限制
  32. int mExchangeMaxLimit;
  33. //类型
  34. int mType;
  35. //管理端
  36. int mManageMent;
  37. //管理端名称显示
  38. std::string mManageMentName;
  39. //显示折扣Discount
  40. int mDiscount;
  41. //返还贡献
  42. int mReturnContribution;
  43. };
  44. class M_ExchangeCFG
  45. {
  46. public:
  47. private:
  48. static std::auto_ptr<M_ExchangeCFG> msSingleton;
  49. public:
  50. int GetCount();
  51. const M_ExchangeCFGData* GetData(int ChangeId);
  52. const std::map<int, M_ExchangeCFGData>& GetMapData();
  53. void Load();
  54. void LoadLua();
  55. void Reload();
  56. static M_ExchangeCFG* GetSingleton();
  57. static void Release();
  58. private:
  59. std::map<int, M_ExchangeCFGData> mMapData;
  60. };