41#pragma region static_functions
61#pragma region overridden_functions
65 return std::make_unique<ParticleManager>(*
this);
69 auto onUpdate(
float dt) ->
void override;
75 auto load(
const Stream& stream) ->
void override;
76 auto save(
Stream& stream)
const ->
void override;
82 auto addBlock(std::shared_ptr<ParticleBlock> newBlock) -> void;
95#pragma region Particles_Functions
101#pragma region member_variables
103 std::vector<std::shared_ptr<ParticleBlock>>
blocks;
108#pragma region helper_functions
112#pragma region static_variables
sys::Json Stream
Definition AudioObject.h:20
A container for holding and updating particles that are all the same type.
GameObject(std::string typeName, gobj::Type parentType, gobj::Type type)
constructor for gameobject.
Definition GameObject.cpp:23
Type
Definition System.h:20
@ Particles
Definition System.h:35
System(const std::string &typeName, Type systemType)
Definition System.cpp:75
std::vector< std::shared_ptr< ParticleBlock > > blocks
Definition ParticleManager.h:103
auto clone() const -> std::unique_ptr< GameObject > override
makes a copy a GameObject even if it's held polymorphically
Definition ParticleManager.h:63
auto showParticleSpreadsheet() -> void
draw the particle spreadsheet menu
Definition ParticleManager.cpp:98
auto operator=(const ParticleManager &other) -> ParticleManager &
Definition ParticleManager.cpp:43
ParticleManager()
Definition ParticleManager.cpp:32
auto endWindow() -> void override
currently unused, but intended to but was assumed to be necessary for a proper ImGui editor
Definition ParticleManager.h:71
auto onUpdate(float dt) -> void override
called once every frame.
Definition ParticleManager.cpp:57
static auto getEnum() -> Type
function required by all systems
Definition ParticleManager.h:46
~ParticleManager() override=default
auto save(Stream &stream) const -> void override
Implementations will load the state of a GameObject to a th::Json object.
Definition ParticleManager.cpp:88
auto onRender() -> void override
called every frame after update has been called for every object.
Definition ParticleManager.cpp:75
ParticleManager(const ParticleManager &other)=default
auto operator=(ParticleManager &&other) noexcept -> ParticleManager &=default
auto systemShowMenu() -> void override
Specific systems should override this function to show their specific menu for the system.
Definition ParticleManager.cpp:120
auto load(const Stream &stream) -> void override
Implementations will load the state of a GameObject from a th::Json Object.
Definition ParticleManager.cpp:83
auto addBlock(std::shared_ptr< ParticleBlock > newBlock) -> void
gives ParticleManager a new particleBlock to keep track of
Definition ParticleManager.cpp:93
the type of elements in a basic_json container
Definition GameObject.h:32