27#include "Entity/IEntityData.h"
28#include "Particles/CGroup.h"
29#include "Particles/CSubGroup.h"
30#include "DataTypeIndex.h"
42 class COMPONENT_API CParticleBufferData :
public IEntityData
60 CParticleBufferData();
62 virtual ~CParticleBufferData();
Represents a group of particles with shared settings, emitters, and a renderer.
Definition CGroup.h:132
ECS data structure holding particle groups for an entity.
Definition CParticleBufferData.h:43
void removeGroup(CGroup *group)
Removes and deletes a top-level group and its sub-groups.
void updateListGroup()
Rebuilds the AllGroups flat list from Groups and SubGroups.
core::array< CGroup * > AllGroups
Flat list of all particle groups (Groups + SubGroups).
Definition CParticleBufferData.h:58
void bringToNext(CGroup *group, CGroup *target, bool behind)
Reorders a group within the Groups list.
CSubGroup * createSubGroup(CGroup *group)
Creates a new sub-group attached to a parent group.
core::array< CSubGroup * > SubGroups
List of sub-particle groups (attached to parent groups).
Definition CParticleBufferData.h:53
core::array< CGroup * > Groups
List of top-level particle groups.
Definition CParticleBufferData.h:48
void clear()
Clears all groups and sub-groups.
std::vector< CSubGroup * > getSubGroup(CGroup *parent)
Gets all sub-groups belonging to a specific parent.
CGroup * createGroup()
Creates a new top-level particle group.
CGroup * getGroupByName(const wchar_t *name)
Finds a group by its name.
void removeSubGroup(CSubGroup *group)
Removes and deletes a specific sub-group.
A particle group that spawns particles from the positions of particles in a parent group.
Definition CSubGroup.h:50
Self reallocating template array (like stl vector) with additional features.
Definition irrArray.h:23
Everything in the Skylicht Engine. You can start by looking at the topics.
Definition AudioDebugLog.h:29