M_ItemCFG.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #pragma once
  2. #include <map>
  3. struct M_ItemCFGData
  4. {
  5. //道具ID
  6. int mItemId;
  7. //物品名称
  8. std::string mItemName;
  9. //描述
  10. std::string mItemDesc;
  11. //物品图标
  12. std::string mIcon;
  13. //物品类型
  14. int mItemCategory;
  15. //参数
  16. std::vector<int> mParameter;
  17. //钻石价值
  18. int mDiamondValue;
  19. //道具价值
  20. std::vector<int> mItemValue;
  21. //金币价值
  22. int mGoldValue;
  23. //特殊buff池是否则算金币
  24. int mConvertedGold;
  25. //道具所属游戏
  26. int mItemGame;
  27. //游戏道具
  28. int mGameItem;
  29. //物品大图标
  30. std::string mBigIcon;
  31. //道具功能
  32. int mItemFun;
  33. //对应炮台ID
  34. int mTurretParam;
  35. //对应翅膀ID
  36. int mWingParam;
  37. //背包是否显示
  38. int mDisplay;
  39. //分组
  40. int mGroup;
  41. //转换碎片
  42. int mDebris;
  43. //限时(秒)
  44. int mTimeLimit;
  45. //限时显示
  46. int mTimeLimitDisplay;
  47. //使用CD
  48. int mTimeCD;
  49. //使用后马上移除
  50. int mNeedRemove;
  51. //立即使用
  52. int mImmediateUse;
  53. //用户拥有数量
  54. int mPlayerLimit;
  55. //掉率(10000)
  56. int mDropRate;
  57. //掉落数量限制
  58. int mDropLimit;
  59. //掉落限制炮率
  60. int mNeedTurret;
  61. //掉落需要玩家等级
  62. int mNeedLevel;
  63. //清零设置
  64. int mResetSettings;
  65. //后台统计
  66. int mRecord;
  67. };
  68. class M_ItemCFG
  69. {
  70. public:
  71. private:
  72. static std::auto_ptr<M_ItemCFG> msSingleton;
  73. public:
  74. int GetCount();
  75. const M_ItemCFGData* GetData(int ItemId);
  76. const std::map<int, M_ItemCFGData>& GetMapData();
  77. void Load();
  78. void LoadLua();
  79. void Reload();
  80. static M_ItemCFG* GetSingleton();
  81. static void Release();
  82. private:
  83. std::map<int, M_ItemCFGData> mMapData;
  84. };