|
Air-Trap 1.0.0
A multiplayer R-Type clone game engine built with C++23 and ECS architecture
|
File : RenderSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025. More...
Namespaces | |
| namespace | components |
| File : Ammo.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025. | |
Classes | |
| class | Entity |
| Represents an entity in the ECS (Entity-Component-System) architecture. More... | |
| class | ISparseArray |
| Type-erased base interface for sparse arrays. More... | |
| class | ISystem |
| Abstract base class for all ECS systems. More... | |
| class | Registry |
| class | SparseArray |
| Sparse array container for component storage. More... | |
| class | SystemManager |
| class | ZipView |
| A view that iterates over entities possessing all specified components. More... | |
Concepts | |
| concept | Component |
| Concept for valid ECS component types. | |
| concept | Serializable |
| Concept for network-serializable components. | |
| concept | System |
| Concept defining the requirements for a System type. | |
Typedefs | |
| template<typename From , typename To > | |
| using | ConstLike = std::conditional_t< std::is_const_v< std::remove_reference_t< From > >, std::add_const_t< To >, To > |
| template<typename From , typename To > | |
| using | ConstLikeRef = ConstLike< From, To > & |
| using | Signature = std::bitset< MAX_COMPONENTS > |
| Represents a signature for an entity's components in the ECS architecture. | |
Functions | |
| std::size_t | nextComponentID () |
| template<typename T > | |
| std::size_t | getStaticComponentID () |
Variables | |
| constexpr Entity | NullEntity {} |
| constexpr size_t | MAX_COMPONENTS = 64 |
| Maximum number of unique component types supported. | |
File : RenderSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025.
File : SystemManager.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025.
| using rtp::ecs::ConstLike = typedef std::conditional_t<std::is_const_v<std::remove_reference_t<From> >, std::add_const_t<To>, To> |
Definition at line 38 of file Registry.hpp.
| using rtp::ecs::ConstLikeRef = typedef ConstLike<From, To> & |
Definition at line 43 of file Registry.hpp.
Represents a signature for an entity's components in the ECS architecture.
A Signature is implemented as a bitset where each bit corresponds to a component type. If a bit is set to 1, it indicates that the entity possesses that component type; if set to 0, the entity does not have that component type. This allows for efficient tracking and querying of component compositions for entities within the ECS framework.
Signatures are also used by systems to specify which component combinations they operate on.
Definition at line 71 of file Signature.hpp.
| std::size_t rtp::ecs::getStaticComponentID | ( | ) |
Definition at line 87 of file ComponentConcept.hpp.
References nextComponentID().
|
inline |
Definition at line 81 of file ComponentConcept.hpp.
Referenced by getStaticComponentID().
|
constexpr |
Maximum number of unique component types supported.
This limit applies to the total number of different component types that can be registered with the ECS.
Definition at line 55 of file Signature.hpp.
|
constexpr |
Definition at line 109 of file Entity.hpp.
Referenced by rtp::server::RoomSystem::despawnPlayerEntity(), rtp::server::GameManager::handlePlayerDisconnect(), rtp::server::EnemyShootSystem::spawnBullet(), rtp::server::CollisionSystem::update(), rtp::server::EnemyAISystem::update(), and rtp::server::PlayerShootSystem::update().