object.h 670 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef WALLENGINE_OBJECT_H
  2. #define WALLENGINE_OBJECT_H
  3. #include <iostream>
  4. #include <irrlicht/irrlicht.h>
  5. #include <nlohmann/json.hpp>
  6. #include "effect.h"
  7. namespace wp
  8. {
  9. using json = nlohmann::json;
  10. class object3d;
  11. class object
  12. {
  13. public:
  14. object (json json_data, irr::io::path basepath);
  15. ~object ();
  16. private:
  17. int m_id;
  18. std::string m_name;
  19. irr::core::vector2df m_size;
  20. irr::core::vector3df m_scale;
  21. irr::core::vector3df m_origin;
  22. irr::core::vector3df m_angles;
  23. wp::object3d* m_object3d;
  24. std::vector<effect*> m_effects;
  25. };
  26. };
  27. #endif //WALLENGINE_OBJECT_H