Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
helios::ecs::RemoveComponentsCmd< Ts > Class Template Reference

Command to remove multiple components from an entity. More...

#include <builtin_commands.hpp>

Public Member Functions

constexpr RemoveComponentsCmd (Entity entity) noexcept
 Constructs remove components command.
constexpr RemoveComponentsCmd (const RemoveComponentsCmd &) noexcept=default
constexpr RemoveComponentsCmd (RemoveComponentsCmd &&) noexcept=default
constexpr ~RemoveComponentsCmd () noexcept=default
constexpr RemoveComponentsCmdoperator= (const RemoveComponentsCmd &) noexcept=default
constexpr RemoveComponentsCmdoperator= (RemoveComponentsCmd &&) noexcept=default
void Execute (World &world)
 Executes components removal.

Detailed Description

template<ComponentTrait... Ts>
requires utils::UniqueTypes<Ts...> && (sizeof...(Ts) > 0)
class helios::ecs::RemoveComponentsCmd< Ts >

Command to remove multiple components from an entity.

Efficiently removes multiple components in a single operation.

Warning
Will trigger assertion if the entity does not exist in the world (when world updated).
Template Parameters
TsComponent types to remove (must be unique)

Definition at line 357 of file builtin_commands.hpp.

Constructor & Destructor Documentation

◆ RemoveComponentsCmd() [1/3]

template<ComponentTrait... Ts>
helios::ecs::RemoveComponentsCmd< Ts >::RemoveComponentsCmd ( Entity entity)
inlineexplicitconstexprnoexcept

Constructs remove components command.

Warning
Triggers assertion if entity is invalid.
Parameters
entityEntity to remove components from

Definition at line 364 of file builtin_commands.hpp.

◆ RemoveComponentsCmd() [2/3]

template<ComponentTrait... Ts>
helios::ecs::RemoveComponentsCmd< Ts >::RemoveComponentsCmd ( const RemoveComponentsCmd< Ts > & )
constexprdefaultnoexcept

◆ RemoveComponentsCmd() [3/3]

template<ComponentTrait... Ts>
helios::ecs::RemoveComponentsCmd< Ts >::RemoveComponentsCmd ( RemoveComponentsCmd< Ts > && )
constexprdefaultnoexcept

◆ ~RemoveComponentsCmd()

template<ComponentTrait... Ts>
helios::ecs::RemoveComponentsCmd< Ts >::~RemoveComponentsCmd ( )
constexprdefaultnoexcept

Member Function Documentation

◆ Execute()

template<ComponentTrait... Ts>
void helios::ecs::RemoveComponentsCmd< Ts >::Execute ( World & world)
inline

Executes components removal.

Warning
Triggers assertion if the entity does not exist in the world.
Parameters
worldWorld to remove components from

Definition at line 382 of file builtin_commands.hpp.

◆ operator=() [1/2]

template<ComponentTrait... Ts>
RemoveComponentsCmd & helios::ecs::RemoveComponentsCmd< Ts >::operator= ( const RemoveComponentsCmd< Ts > & )
constexprdefaultnoexcept

◆ operator=() [2/2]

template<ComponentTrait... Ts>
RemoveComponentsCmd & helios::ecs::RemoveComponentsCmd< Ts >::operator= ( RemoveComponentsCmd< Ts > && )
constexprdefaultnoexcept