Helios Engine 0.1.0
A modular ECS based data-oriented C++23 game engine
 
Loading...
Searching...
No Matches
command.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <concepts>
4
5namespace helios::ecs {
6
7/**
8 * @brief Base class for all commands to be executed in the world.
9 * @details Commands are used to modify the world in a thread-safe manner.
10 * They are recorded in a command buffer and executed in the order they were recorded when World::Update() is called.
11 */
12class Command {
13public:
14 virtual constexpr ~Command() noexcept = default;
15
17};
18
21
22} // namespace helios::ecs
Base class for all commands to be executed in the world.
Definition command.hpp:12
virtual constexpr ~Command() noexcept=default
virtual void Execute(class World &world)=0
The World class manages entities with their components and systems.
Definition world.hpp:53
BasicQuery< World, Allocator, Components... > Query
Type alias for query with mutable world access.
Definition query.hpp:2481
STL namespace.