| 123456789101112131415161718192021222324252627282930313233343536 |
- #pragma once
- #include "WallpaperEngine/Core/Core.h"
- namespace WallpaperEngine::Core::Objects::Particles
- {
- using json = nlohmann::json;
- /**
- * Initializer for particles, controls the different attributes a particle will have
- * on emission
- */
- class CInitializer
- {
- public:
- static CInitializer* fromJSON (json data);
- /**
- * @return The name of the particle initializer, indicates what type of initialization to do
- */
- [[nodiscard]] const std::string& getName () const;
- /**
- * @return The id of the initializer
- */
- [[nodiscard]] uint32_t getId () const;
- protected:
- CInitializer (uint32_t id, std::string name);
- private:
- /** ID for ordering purposes */
- uint32_t m_id;
- /** The name of the initializer, indicates what type of initialization to do */
- std::string m_name;
- };
- }
|