Skylicht Engine
Loading...
Searching...
No Matches
Skylicht::Particle::CParticleBufferData Class Reference

ECS data structure holding particle groups for an entity. More...

#include <ParticleSystem/CParticleBufferData.h>

Inheritance diagram for Skylicht::Particle::CParticleBufferData:
Skylicht::IEntityData Skylicht::IActivatorObject

Public Member Functions

void clear ()
 Clears all groups and sub-groups.
CGroupcreateGroup ()
 Creates a new top-level particle group.
CGroupgetGroupByName (const wchar_t *name)
 Finds a group by its name.
CSubGroupcreateSubGroup (CGroup *group)
 Creates a new sub-group attached to a parent group.
std::vector< CSubGroup * > getSubGroup (CGroup *parent)
 Gets all sub-groups belonging to a specific parent.
void removeGroup (CGroup *group)
 Removes and deletes a top-level group and its sub-groups.
void removeSubGroup (CSubGroup *group)
 Removes and deletes a specific sub-group.
void bringToNext (CGroup *group, CGroup *target, bool behind)
 Reorders a group within the Groups list.
void updateListGroup ()
 Rebuilds the AllGroups flat list from Groups and SubGroups.
Public Member Functions inherited from Skylicht::IEntityData
virtual bool serializable (CMemoryStream *stream)
virtual bool deserializable (CMemoryStream *stream, int version)
virtual const char * getTypeName ()
Public Member Functions inherited from Skylicht::IActivatorObject
virtual ~IActivatorObject ()
 Virtual destructor for polymorphic activator objects.

Public Attributes

core::array< CGroup * > Groups
 List of top-level particle groups.
core::array< CSubGroup * > SubGroups
 List of sub-particle groups (attached to parent groups).
core::array< CGroup * > AllGroups
 Flat list of all particle groups (Groups + SubGroups).
Public Attributes inherited from Skylicht::IEntityData
int EntityIndex
CEntityEntity

Detailed Description

ECS data structure holding particle groups for an entity.

This data is managed by CParticleComponent and processed by CParticleGroupSystem and CParticleRenderer.

Member Function Documentation

◆ bringToNext()

void Skylicht::Particle::CParticleBufferData::bringToNext ( CGroup * group,
CGroup * target,
bool behind )

Reorders a group within the Groups list.

Parameters
groupThe group to move.
targetThe target group for positioning.
behindIf true, places it after the target; otherwise before.

◆ createGroup()

CGroup * Skylicht::Particle::CParticleBufferData::createGroup ( )

Creates a new top-level particle group.

Returns
Pointer to the new CGroup.

◆ createSubGroup()

CSubGroup * Skylicht::Particle::CParticleBufferData::createSubGroup ( CGroup * group)

Creates a new sub-group attached to a parent group.

Parameters
groupThe parent group.
Returns
Pointer to the new CSubGroup.

◆ getGroupByName()

CGroup * Skylicht::Particle::CParticleBufferData::getGroupByName ( const wchar_t * name)

Finds a group by its name.

Parameters
nameThe name of the group.
Returns
Pointer to CGroup if found, NULL otherwise.

◆ getSubGroup()

std::vector< CSubGroup * > Skylicht::Particle::CParticleBufferData::getSubGroup ( CGroup * parent)

Gets all sub-groups belonging to a specific parent.

Parameters
parentThe parent group.
Returns
Vector of CSubGroup pointers.

◆ removeGroup()

void Skylicht::Particle::CParticleBufferData::removeGroup ( CGroup * group)

Removes and deletes a top-level group and its sub-groups.

Parameters
groupThe group to remove.

◆ removeSubGroup()

void Skylicht::Particle::CParticleBufferData::removeSubGroup ( CSubGroup * group)

Removes and deletes a specific sub-group.

Parameters
groupThe sub-group to remove.

The documentation for this class was generated from the following file: