M_monster.h 725 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. #include <map>
  3. struct M_monsterData
  4. {
  5. //ID
  6. int64_t mID;
  7. //怪物名称
  8. std::string mname;
  9. //怪物类型
  10. int mtype;
  11. //击杀倍数
  12. int mmultiple;
  13. //怪物图标
  14. std::string micon;
  15. //怪物形象
  16. std::string maspect;
  17. //移动速度
  18. float mspeed;
  19. //鱼阵移动速度
  20. float msuper_speed;
  21. //缩放倍数
  22. float mzoom_factor;
  23. //经验掉落(道具ID)
  24. int mexp_value;
  25. };
  26. class M_monster
  27. {
  28. public:
  29. private:
  30. static std::auto_ptr<M_monster> msSingleton;
  31. public:
  32. int GetCount();
  33. const M_monsterData* GetData(int64_t ID);
  34. const std::map<int64_t, M_monsterData>& GetMapData();
  35. void Load();
  36. void LoadLua();
  37. void Reload();
  38. static M_monster* GetSingleton();
  39. static void Release();
  40. private:
  41. std::map<int64_t, M_monsterData> mMapData;
  42. };