M_ActivExchange.h 689 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include <boost/unordered_map.hpp>
  3. #include <vector>
  4. struct M_ActivExchangeData
  5. {
  6. //ID
  7. int mID;
  8. //兑换所需物品
  9. std::vector<int> mExchangeItems;
  10. //所需物品数量
  11. std::vector<int> mQuantityRequired;
  12. //兑换获得物品
  13. int mGetItems;
  14. //获得物品数量
  15. int mGetQuantity;
  16. };
  17. class M_ActivExchange
  18. {
  19. public:
  20. private:
  21. static std::auto_ptr<M_ActivExchange> msSingleton;
  22. public:
  23. int GetCount();
  24. const M_ActivExchangeData* GetData(int ID);
  25. boost::unordered_map<int, M_ActivExchangeData>& GetMapData();
  26. void Reload();
  27. void Load(const std::string& path);
  28. void Load();
  29. static M_ActivExchange* GetSingleton();
  30. private:
  31. boost::unordered_map<int, M_ActivExchangeData> mMapData;
  32. };