Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
helios::ecs::ScheduleSystemMetadata Struct Reference

Metadata attached to a system entry for ordering and configuration. More...

#include <schedule.hpp>

Public Member Functions

constexpr void AddBefore (SystemId id)
 Adds a system ID to the list of targets that must run before this system.
constexpr void AddAfter (SystemId id)
 Adds a system ID to the list of targets that must run after this system.
constexpr void AddBefore (SystemSetId id)
 Adds a system set ID to the list of targets that must run before this system.
constexpr void AddAfter (SystemSetId id)
 Adds a system set ID to the list of targets that must run after this system.
constexpr void AddMemberOfSet (SystemSetId id)
 Adds a system set membership if not already present.

Static Public Member Functions

template<typename T>
static void AppendUnique (std::vector< T > &vec, const T &value)
 Appends a value to a vector if it is not already present.

Public Attributes

std::vector< SystemIdbefore_targets
std::vector< SystemIdafter_targets
std::vector< SystemSetIdbefore_set_targets
std::vector< SystemSetIdafter_set_targets
std::vector< SystemSetIdmember_of_sets
std::vector< RunConditionStorageconditions

Detailed Description

Metadata attached to a system entry for ordering and configuration.

Definition at line 83 of file schedule.hpp.

Member Function Documentation

◆ AddAfter() [1/2]

void helios::ecs::ScheduleSystemMetadata::AddAfter ( SystemId id)
inlineconstexpr

Adds a system ID to the list of targets that must run after this system.

If the system ID is already present, it is not added again.

Parameters
idThe system ID to add

Definition at line 105 of file schedule.hpp.

◆ AddAfter() [2/2]

void helios::ecs::ScheduleSystemMetadata::AddAfter ( SystemSetId id)
inlineconstexpr

Adds a system set ID to the list of targets that must run after this system.

If the system set ID is already present, it is not added again.

Parameters
idThe system set ID to add

Definition at line 123 of file schedule.hpp.

◆ AddBefore() [1/2]

void helios::ecs::ScheduleSystemMetadata::AddBefore ( SystemId id)
inlineconstexpr

Adds a system ID to the list of targets that must run before this system.

If the system ID is already present, it is not added again.

Parameters
idThe system ID to add

Definition at line 97 of file schedule.hpp.

◆ AddBefore() [2/2]

void helios::ecs::ScheduleSystemMetadata::AddBefore ( SystemSetId id)
inlineconstexpr

Adds a system set ID to the list of targets that must run before this system.

If the system set ID is already present, it is not added again.

Parameters
idThe system set ID to add

Definition at line 113 of file schedule.hpp.

◆ AddMemberOfSet()

void helios::ecs::ScheduleSystemMetadata::AddMemberOfSet ( SystemSetId id)
inlineconstexpr

Adds a system set membership if not already present.

If the set id is already present, it is not added again.

Parameters
idSet to assign this system to

Definition at line 132 of file schedule.hpp.

◆ AppendUnique()

template<typename T>
void helios::ecs::ScheduleSystemMetadata::AppendUnique ( std::vector< T > & vec,
const T & value )
inlinestatic

Appends a value to a vector if it is not already present.

Template Parameters
TThe type of the value
Parameters
vecThe vector to append to
valueThe value to append

Definition at line 143 of file schedule.hpp.

Member Data Documentation

◆ after_set_targets

std::vector<SystemSetId> helios::ecs::ScheduleSystemMetadata::after_set_targets

Definition at line 87 of file schedule.hpp.

◆ after_targets

std::vector<SystemId> helios::ecs::ScheduleSystemMetadata::after_targets

Definition at line 85 of file schedule.hpp.

◆ before_set_targets

std::vector<SystemSetId> helios::ecs::ScheduleSystemMetadata::before_set_targets

Definition at line 86 of file schedule.hpp.

◆ before_targets

std::vector<SystemId> helios::ecs::ScheduleSystemMetadata::before_targets

Definition at line 84 of file schedule.hpp.

◆ conditions

std::vector<RunConditionStorage> helios::ecs::ScheduleSystemMetadata::conditions

Definition at line 89 of file schedule.hpp.

◆ member_of_sets

std::vector<SystemSetId> helios::ecs::ScheduleSystemMetadata::member_of_sets

Definition at line 88 of file schedule.hpp.