linux-wallpaperengine/WallpaperEngine/Core/Objects/Particles/CEmitter.h
Alexis Maiquez 654918904a ~ Changed namespace names for wp::core and wp to a more suited name
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2019-08-15 01:53:40 +02:00

43 lines
1.1 KiB
C++

#pragma once
#include <nlohmann/json.hpp>
#include <irrlicht/irrlicht.h>
namespace WallpaperEngine::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;
};
};