Fish_TurretLevelCFG.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. #include <boost/unordered_map.hpp>
  3. #include <vector>
  4. struct Fish_TurretLevelCFGData
  5. {
  6. //ID
  7. int mID;
  8. //开放倍率
  9. int mOpenRate;
  10. //奖励金币
  11. int mAwardGold;
  12. //单次升级
  13. int mOneTickUp;
  14. //升炮buff
  15. int mShotsBuff;
  16. //升级ICON
  17. std::string mLevelUpIcon;
  18. //升级类型(0普通, 1道具)
  19. int mUpType;
  20. //升级成功率(10000)
  21. int mUpRate;
  22. //需要幸运
  23. int mNeedLucky;
  24. //升级需要的物品ID
  25. std::vector<int> mNeedItems;
  26. //需要物品数量
  27. std::vector<int> mNeedCount;
  28. //额外升级所需
  29. std::vector<int> mExtraUpgrade;
  30. //掉落衰减
  31. int mDropAttenuates;
  32. //每日任务组
  33. std::vector<int> mDailyQuestGroup;
  34. //升级材料掉落上限(激光符文,浪花符文,火山符文,太阳符文)
  35. int mDropLimit;
  36. //炮倍任务奖励物品
  37. std::vector<int> mTaskItems;
  38. //炮倍任务奖励数量
  39. std::vector<int> mQuantityOfArticles;
  40. //炮倍任务显示
  41. int mTaskDisplay;
  42. //炮倍解锁id
  43. std::vector<int> mUnlockDisplayID;
  44. //炮倍解锁类型
  45. std::vector<int> mUnlockDisplayMasks;
  46. };
  47. class Fish_TurretLevelCFG
  48. {
  49. public:
  50. private:
  51. static std::auto_ptr<Fish_TurretLevelCFG> msSingleton;
  52. public:
  53. int GetCount();
  54. const Fish_TurretLevelCFGData* GetData(int ID);
  55. boost::unordered_map<int, Fish_TurretLevelCFGData>& GetMapData();
  56. void Reload();
  57. void Load(const std::string& path);
  58. void Load();
  59. static Fish_TurretLevelCFG* GetSingleton();
  60. private:
  61. boost::unordered_map<int, Fish_TurretLevelCFGData> mMapData;
  62. };