| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #pragma once
- #include <nlohmann/json.hpp>
- #include <irrlicht/irrlicht.h>
- namespace wp::core::Objects::Particles
- {
- using json = nlohmann::json;
- class CEmitter
- {
- public:
- const std::string& getName () const;
- irr::u32 getDistanceMax () const;
- irr::u32 getDistanceMin () const;
- irr::core::vector3df* getDirections ();
- irr::core::vector3df* getOrigin ();
- irr::f64 getRate () const;
- protected:
- friend class CParticle;
- static CEmitter* fromJSON (json data);
- CEmitter (
- const irr::core::vector3df& directions,
- irr::u32 distancemax,
- irr::u32 distancemin,
- irr::u32 id,
- std::string name,
- const irr::core::vector3df& origin,
- irr::f64 rate
- );
- private:
- irr::core::vector3df m_directions;
- irr::u32 m_distancemax;
- irr::u32 m_distancemin;
- irr::u32 m_id;
- std::string m_name;
- irr::core::vector3df m_origin;
- irr::f64 m_rate;
- };
- };
|